Class ComputeVpnTunnel.Builder

    • Method Detail

      • create

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

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

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

        @Stability(Experimental)
        public ComputeVpnTunnel.Builder count​(Number count)
        Parameters:
        count - This parameter is required.
        Returns:
        this
      • count

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

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

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

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

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

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

        @Stability(Stable)
        public ComputeVpnTunnel.Builder name​(String name)
        Name of the resource.

        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_vpn_tunnel#name ComputeVpnTunnel#name}

        Parameters:
        name - Name of the resource. This parameter is required.
        Returns:
        this
      • sharedSecret

        @Stability(Stable)
        public ComputeVpnTunnel.Builder sharedSecret​(String sharedSecret)
        Shared secret used to set the secure session between the Cloud VPN gateway and the peer VPN gateway.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_vpn_tunnel#shared_secret ComputeVpnTunnel#shared_secret}

        Parameters:
        sharedSecret - Shared secret used to set the secure session between the Cloud VPN gateway and the peer VPN gateway. This parameter is required.
        Returns:
        this
      • description

        @Stability(Stable)
        public ComputeVpnTunnel.Builder description​(String description)
        An optional description of this resource.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_vpn_tunnel#description ComputeVpnTunnel#description}

        Parameters:
        description - An optional description of this resource. This parameter is required.
        Returns:
        this
      • id

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

        @Stability(Stable)
        public ComputeVpnTunnel.Builder ikeVersion​(Number ikeVersion)
        IKE protocol version to use when establishing the VPN tunnel with peer VPN gateway.

        Acceptable IKE versions are 1 or 2. Default version is 2. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_vpn_tunnel#ike_version ComputeVpnTunnel#ike_version}

        Parameters:
        ikeVersion - IKE protocol version to use when establishing the VPN tunnel with peer VPN gateway. This parameter is required.
        Returns:
        this
      • labels

        @Stability(Stable)
        public ComputeVpnTunnel.Builder labels​(Map<String,​String> labels)
        Labels to apply to this VpnTunnel.

        **Note**: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_vpn_tunnel#labels ComputeVpnTunnel#labels}

        Parameters:
        labels - Labels to apply to this VpnTunnel. This parameter is required.
        Returns:
        this
      • localTrafficSelector

        @Stability(Stable)
        public ComputeVpnTunnel.Builder localTrafficSelector​(List<String> localTrafficSelector)
        Local traffic selector to use when establishing the VPN tunnel with peer VPN gateway.

        The value should be a CIDR formatted string, for example '192.168.0.0/16'. The ranges should be disjoint. Only IPv4 is supported. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_vpn_tunnel#local_traffic_selector ComputeVpnTunnel#local_traffic_selector}

        Parameters:
        localTrafficSelector - Local traffic selector to use when establishing the VPN tunnel with peer VPN gateway. This parameter is required.
        Returns:
        this
      • peerExternalGateway

        @Stability(Stable)
        public ComputeVpnTunnel.Builder peerExternalGateway​(String peerExternalGateway)
        URL of the peer side external VPN gateway to which this VPN tunnel is connected.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_vpn_tunnel#peer_external_gateway ComputeVpnTunnel#peer_external_gateway}

        Parameters:
        peerExternalGateway - URL of the peer side external VPN gateway to which this VPN tunnel is connected. This parameter is required.
        Returns:
        this
      • peerExternalGatewayInterface

        @Stability(Stable)
        public ComputeVpnTunnel.Builder peerExternalGatewayInterface​(Number peerExternalGatewayInterface)
        The interface ID of the external VPN gateway to which this VPN tunnel is connected.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_vpn_tunnel#peer_external_gateway_interface ComputeVpnTunnel#peer_external_gateway_interface}

        Parameters:
        peerExternalGatewayInterface - The interface ID of the external VPN gateway to which this VPN tunnel is connected. This parameter is required.
        Returns:
        this
      • peerGcpGateway

        @Stability(Stable)
        public ComputeVpnTunnel.Builder peerGcpGateway​(String peerGcpGateway)
        URL of the peer side HA GCP VPN gateway to which this VPN tunnel is connected.

        If provided, the VPN tunnel will automatically use the same vpn_gateway_interface ID in the peer GCP VPN gateway. This field must reference a 'google_compute_ha_vpn_gateway' resource. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_vpn_tunnel#peer_gcp_gateway ComputeVpnTunnel#peer_gcp_gateway}

        Parameters:
        peerGcpGateway - URL of the peer side HA GCP VPN gateway to which this VPN tunnel is connected. This parameter is required.
        Returns:
        this
      • peerIp

        @Stability(Stable)
        public ComputeVpnTunnel.Builder peerIp​(String peerIp)
        IP address of the peer VPN gateway. Only IPv4 is supported.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_vpn_tunnel#peer_ip ComputeVpnTunnel#peer_ip}

        Parameters:
        peerIp - IP address of the peer VPN gateway. Only IPv4 is supported. This parameter is required.
        Returns:
        this
      • project

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

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

        @Stability(Stable)
        public ComputeVpnTunnel.Builder region​(String region)
        The region where the tunnel is located. If unset, is set to the region of 'target_vpn_gateway'.

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

        Parameters:
        region - The region where the tunnel is located. If unset, is set to the region of 'target_vpn_gateway'. This parameter is required.
        Returns:
        this
      • remoteTrafficSelector

        @Stability(Stable)
        public ComputeVpnTunnel.Builder remoteTrafficSelector​(List<String> remoteTrafficSelector)
        Remote traffic selector to use when establishing the VPN tunnel with peer VPN gateway.

        The value should be a CIDR formatted string, for example '192.168.0.0/16'. The ranges should be disjoint. Only IPv4 is supported. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_vpn_tunnel#remote_traffic_selector ComputeVpnTunnel#remote_traffic_selector}

        Parameters:
        remoteTrafficSelector - Remote traffic selector to use when establishing the VPN tunnel with peer VPN gateway. This parameter is required.
        Returns:
        this
      • router

        @Stability(Stable)
        public ComputeVpnTunnel.Builder router​(String router)
        URL of router resource to be used for dynamic routing.

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

        Parameters:
        router - URL of router resource to be used for dynamic routing. This parameter is required.
        Returns:
        this
      • targetVpnGateway

        @Stability(Stable)
        public ComputeVpnTunnel.Builder targetVpnGateway​(String targetVpnGateway)
        URL of the Target VPN gateway with which this VPN tunnel is associated.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_vpn_tunnel#target_vpn_gateway ComputeVpnTunnel#target_vpn_gateway}

        Parameters:
        targetVpnGateway - URL of the Target VPN gateway with which this VPN tunnel is associated. This parameter is required.
        Returns:
        this
      • timeouts

        @Stability(Stable)
        public ComputeVpnTunnel.Builder timeouts​(ComputeVpnTunnelTimeouts timeouts)
        timeouts block.

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

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

        @Stability(Stable)
        public ComputeVpnTunnel.Builder vpnGateway​(String vpnGateway)
        URL of the VPN gateway with which this VPN tunnel is associated.

        This must be used if a High Availability VPN gateway resource is created. This field must reference a 'google_compute_ha_vpn_gateway' resource. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_vpn_tunnel#vpn_gateway ComputeVpnTunnel#vpn_gateway}

        Parameters:
        vpnGateway - URL of the VPN gateway with which this VPN tunnel is associated. This parameter is required.
        Returns:
        this
      • vpnGatewayInterface

        @Stability(Stable)
        public ComputeVpnTunnel.Builder vpnGatewayInterface​(Number vpnGatewayInterface)
        The interface ID of the VPN gateway with which this VPN tunnel is associated.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_vpn_tunnel#vpn_gateway_interface ComputeVpnTunnel#vpn_gateway_interface}

        Parameters:
        vpnGatewayInterface - The interface ID of the VPN gateway with which this VPN tunnel is associated. This parameter is required.
        Returns:
        this