Class ComputeRoute.Builder

  • All Implemented Interfaces:
    software.amazon.jsii.Builder<ComputeRoute>
    Enclosing class:
    ComputeRoute

    @Stability(Stable)
    public static final class ComputeRoute.Builder
    extends Object
    implements software.amazon.jsii.Builder<ComputeRoute>
    A fluent builder for ComputeRoute.
    • Method Detail

      • create

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

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

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

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

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

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

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

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

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

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

        @Stability(Stable)
        public ComputeRoute.Builder destRange​(String destRange)
        The destination range of outgoing packets that this route applies to. Only IPv4 is supported.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_route#dest_range ComputeRoute#dest_range}

        Parameters:
        destRange - The destination range of outgoing packets that this route applies to. Only IPv4 is supported. This parameter is required.
        Returns:
        this
      • name

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

        Provided by the client when the resource is created. 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_route#name ComputeRoute#name}

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

        @Stability(Stable)
        public ComputeRoute.Builder network​(String network)
        The network that this route applies to.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_route#network ComputeRoute#network}

        Parameters:
        network - The network that this route applies to. This parameter is required.
        Returns:
        this
      • description

        @Stability(Stable)
        public ComputeRoute.Builder description​(String description)
        An optional description of this resource. Provide this property when you create the resource.

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

        Parameters:
        description - An optional description of this resource. Provide this property when you create the resource. This parameter is required.
        Returns:
        this
      • id

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

        @Stability(Stable)
        public ComputeRoute.Builder nextHopGateway​(String nextHopGateway)
        URL to a gateway that should handle matching packets.

        Currently, you can only specify the internet gateway, using a full or partial valid URL: * 'https://www.googleapis.com/compute/v1/projects/project/global/gateways/default-internet-gateway' * 'projects/project/global/gateways/default-internet-gateway' * 'global/gateways/default-internet-gateway' * The string 'default-internet-gateway'. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_route#next_hop_gateway ComputeRoute#next_hop_gateway}

        Parameters:
        nextHopGateway - URL to a gateway that should handle matching packets. This parameter is required.
        Returns:
        this
      • nextHopIlb

        @Stability(Stable)
        public ComputeRoute.Builder nextHopIlb​(String nextHopIlb)
        The IP address or URL to a forwarding rule of type loadBalancingScheme=INTERNAL that should handle matching packets.

        With the GA provider you can only specify the forwarding rule as a partial or full URL. For example, the following are all valid values: * 10.128.0.56 * https://www.googleapis.com/compute/v1/projects/project/regions/region/forwardingRules/forwardingRule * regions/region/forwardingRules/forwardingRule When the beta provider, you can also specify the IP address of a forwarding rule from the same VPC or any peered VPC. Note that this can only be used when the destinationRange is a public (non-RFC 1918) IP CIDR range. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_route#next_hop_ilb ComputeRoute#next_hop_ilb}

        Parameters:
        nextHopIlb - The IP address or URL to a forwarding rule of type loadBalancingScheme=INTERNAL that should handle matching packets. This parameter is required.
        Returns:
        this
      • nextHopInstance

        @Stability(Stable)
        public ComputeRoute.Builder nextHopInstance​(String nextHopInstance)
        URL to an instance that should handle matching packets.

        You can specify this as a full or partial URL. For example: * 'https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/instance' * 'projects/project/zones/zone/instances/instance' * 'zones/zone/instances/instance' * Just the instance name, with the zone in 'next_hop_instance_zone'. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_route#next_hop_instance ComputeRoute#next_hop_instance}

        Parameters:
        nextHopInstance - URL to an instance that should handle matching packets. This parameter is required.
        Returns:
        this
      • nextHopInstanceZone

        @Stability(Stable)
        public ComputeRoute.Builder nextHopInstanceZone​(String nextHopInstanceZone)
        The zone of the instance specified in next_hop_instance. Omit if next_hop_instance is specified as a URL.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_route#next_hop_instance_zone ComputeRoute#next_hop_instance_zone}

        Parameters:
        nextHopInstanceZone - The zone of the instance specified in next_hop_instance. Omit if next_hop_instance is specified as a URL. This parameter is required.
        Returns:
        this
      • nextHopIp

        @Stability(Stable)
        public ComputeRoute.Builder nextHopIp​(String nextHopIp)
        Network IP address of an instance that should handle matching packets.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_route#next_hop_ip ComputeRoute#next_hop_ip}

        Parameters:
        nextHopIp - Network IP address of an instance that should handle matching packets. This parameter is required.
        Returns:
        this
      • nextHopVpnTunnel

        @Stability(Stable)
        public ComputeRoute.Builder nextHopVpnTunnel​(String nextHopVpnTunnel)
        URL to a VpnTunnel that should handle matching packets.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_route#next_hop_vpn_tunnel ComputeRoute#next_hop_vpn_tunnel}

        Parameters:
        nextHopVpnTunnel - URL to a VpnTunnel that should handle matching packets. This parameter is required.
        Returns:
        this
      • priority

        @Stability(Stable)
        public ComputeRoute.Builder priority​(Number priority)
        The priority of this route.

        Priority is used to break ties in cases where there is more than one matching route of equal prefix length. In the case of two routes with equal prefix length, the one with the lowest-numbered priority value wins. Default value is 1000. Valid range is 0 through 65535. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_route#priority ComputeRoute#priority}

        Parameters:
        priority - The priority of this route. This parameter is required.
        Returns:
        this
      • project

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

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

        @Stability(Stable)
        public ComputeRoute.Builder tags​(List<String> tags)
        A list of instance tags to which this route applies.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_route#tags ComputeRoute#tags}

        Parameters:
        tags - A list of instance tags to which this route applies. This parameter is required.
        Returns:
        this
      • timeouts

        @Stability(Stable)
        public ComputeRoute.Builder timeouts​(ComputeRouteTimeouts timeouts)
        timeouts block.

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

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

        @Stability(Stable)
        public ComputeRoute build()
        Specified by:
        build in interface software.amazon.jsii.Builder<ComputeRoute>
        Returns:
        a newly built instance of ComputeRoute.