Interface ComputeRouterNatConfig

  • All Superinterfaces:
    software.amazon.jsii.JsiiSerializable, com.hashicorp.cdktf.TerraformMetaArguments
    All Known Implementing Classes:
    ComputeRouterNatConfig.Jsii$Proxy

    @Generated(value="jsii-pacmak/1.102.0 (build e354887)",
               date="2024-08-31T03:59:18.937Z")
    @Stability(Stable)
    public interface ComputeRouterNatConfig
    extends software.amazon.jsii.JsiiSerializable, com.hashicorp.cdktf.TerraformMetaArguments
    • Method Detail

      • getName

        @Stability(Stable)
        @NotNull
        String getName()
        Name of the NAT service. The name must be 1-63 characters long and comply with RFC1035.

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

      • getRouter

        @Stability(Stable)
        @NotNull
        String getRouter()
        The name of the Cloud Router in which this NAT will be configured.

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

      • getSourceSubnetworkIpRangesToNat

        @Stability(Stable)
        @NotNull
        String getSourceSubnetworkIpRangesToNat()
        How NAT should be configured per Subnetwork.

        If 'ALL_SUBNETWORKS_ALL_IP_RANGES', all of the IP ranges in every Subnetwork are allowed to Nat. If 'ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES', all of the primary IP ranges in every Subnetwork are allowed to Nat. 'LIST_OF_SUBNETWORKS': A list of Subnetworks are allowed to Nat (specified in the field subnetwork below). Note that if this field contains ALL_SUBNETWORKS_ALL_IP_RANGES or ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES, then there should not be any other RouterNat section in any Router for this network in this region. Possible values: ["ALL_SUBNETWORKS_ALL_IP_RANGES", "ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES", "LIST_OF_SUBNETWORKS"] Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_nat#source_subnetwork_ip_ranges_to_nat ComputeRouterNat#source_subnetwork_ip_ranges_to_nat}

      • getAutoNetworkTier

        @Stability(Stable)
        @Nullable
        default String getAutoNetworkTier()
        The network tier to use when automatically reserving NAT IP addresses.

        Must be one of: PREMIUM, STANDARD. If not specified, then the current project-level default tier is used. Possible values: ["PREMIUM", "STANDARD"] Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_nat#auto_network_tier ComputeRouterNat#auto_network_tier}

      • getDrainNatIps

        @Stability(Stable)
        @Nullable
        default List<String> getDrainNatIps()
        A list of URLs of the IP resources to be drained.

        These IPs must be valid static external IPs that have been assigned to the NAT. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_nat#drain_nat_ips ComputeRouterNat#drain_nat_ips}

      • getEnableDynamicPortAllocation

        @Stability(Stable)
        @Nullable
        default Object getEnableDynamicPortAllocation()
        Enable Dynamic Port Allocation.

        If minPortsPerVm is set, minPortsPerVm must be set to a power of two greater than or equal to 32. If minPortsPerVm is not set, a minimum of 32 ports will be allocated to a VM from this NAT config. If maxPortsPerVm is set, maxPortsPerVm must be set to a power of two greater than minPortsPerVm. If maxPortsPerVm is not set, a maximum of 65536 ports will be allocated to a VM from this NAT config. Mutually exclusive with enableEndpointIndependentMapping. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_nat#enable_dynamic_port_allocation ComputeRouterNat#enable_dynamic_port_allocation}

      • getEnableEndpointIndependentMapping

        @Stability(Stable)
        @Nullable
        default Object getEnableEndpointIndependentMapping()
        Enable endpoint independent mapping. For more information see the official documentation.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_nat#enable_endpoint_independent_mapping ComputeRouterNat#enable_endpoint_independent_mapping}

      • getEndpointTypes

        @Stability(Stable)
        @Nullable
        default List<String> getEndpointTypes()
        Specifies the endpoint Types supported by the NAT Gateway.

        Supported values include: 'ENDPOINT_TYPE_VM', 'ENDPOINT_TYPE_SWG', 'ENDPOINT_TYPE_MANAGED_PROXY_LB'. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_nat#endpoint_types ComputeRouterNat#endpoint_types}

      • getIcmpIdleTimeoutSec

        @Stability(Stable)
        @Nullable
        default Number getIcmpIdleTimeoutSec()
        Timeout (in seconds) for ICMP connections. Defaults to 30s if not set.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_nat#icmp_idle_timeout_sec ComputeRouterNat#icmp_idle_timeout_sec}

      • getId

        @Stability(Stable)
        @Nullable
        default String getId()
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_nat#id ComputeRouterNat#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.

      • getLogConfig

        @Stability(Stable)
        @Nullable
        default ComputeRouterNatLogConfig getLogConfig()
        log_config block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_nat#log_config ComputeRouterNat#log_config}

      • getMaxPortsPerVm

        @Stability(Stable)
        @Nullable
        default Number getMaxPortsPerVm()
        Maximum number of ports allocated to a VM from this NAT.

        This field can only be set when enableDynamicPortAllocation is enabled. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_nat#max_ports_per_vm ComputeRouterNat#max_ports_per_vm}

      • getMinPortsPerVm

        @Stability(Stable)
        @Nullable
        default Number getMinPortsPerVm()
        Minimum number of ports allocated to a VM from this NAT.

        Defaults to 64 for static port allocation and 32 dynamic port allocation if not set. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_nat#min_ports_per_vm ComputeRouterNat#min_ports_per_vm}

      • getNatIpAllocateOption

        @Stability(Stable)
        @Nullable
        default String getNatIpAllocateOption()
        How external IPs should be allocated for this NAT.

        Valid values are 'AUTO_ONLY' for only allowing NAT IPs allocated by Google Cloud Platform, or 'MANUAL_ONLY' for only user-allocated NAT IP addresses. Possible values: ["MANUAL_ONLY", "AUTO_ONLY"] Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_nat#nat_ip_allocate_option ComputeRouterNat#nat_ip_allocate_option}

      • getNatIps

        @Stability(Stable)
        @Nullable
        default List<String> getNatIps()
        Self-links of NAT IPs. Only valid if natIpAllocateOption is set to MANUAL_ONLY.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_nat#nat_ips ComputeRouterNat#nat_ips}

      • getProject

        @Stability(Stable)
        @Nullable
        default String getProject()
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_nat#project ComputeRouterNat#project}.
      • getRegion

        @Stability(Stable)
        @Nullable
        default String getRegion()
        Region where the router and NAT reside.

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

      • getRules

        @Stability(Stable)
        @Nullable
        default Object getRules()
        rules block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_nat#rules ComputeRouterNat#rules}

      • getSubnetwork

        @Stability(Stable)
        @Nullable
        default Object getSubnetwork()
        subnetwork block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_nat#subnetwork ComputeRouterNat#subnetwork}

      • getTcpEstablishedIdleTimeoutSec

        @Stability(Stable)
        @Nullable
        default Number getTcpEstablishedIdleTimeoutSec()
        Timeout (in seconds) for TCP established connections. Defaults to 1200s if not set.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_nat#tcp_established_idle_timeout_sec ComputeRouterNat#tcp_established_idle_timeout_sec}

      • getTcpTimeWaitTimeoutSec

        @Stability(Stable)
        @Nullable
        default Number getTcpTimeWaitTimeoutSec()
        Timeout (in seconds) for TCP connections that are in TIME_WAIT state. Defaults to 120s if not set.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_nat#tcp_time_wait_timeout_sec ComputeRouterNat#tcp_time_wait_timeout_sec}

      • getTcpTransitoryIdleTimeoutSec

        @Stability(Stable)
        @Nullable
        default Number getTcpTransitoryIdleTimeoutSec()
        Timeout (in seconds) for TCP transitory connections. Defaults to 30s if not set.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_nat#tcp_transitory_idle_timeout_sec ComputeRouterNat#tcp_transitory_idle_timeout_sec}

      • getTimeouts

        @Stability(Stable)
        @Nullable
        default ComputeRouterNatTimeouts getTimeouts()
        timeouts block.

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

      • getUdpIdleTimeoutSec

        @Stability(Stable)
        @Nullable
        default Number getUdpIdleTimeoutSec()
        Timeout (in seconds) for UDP connections. Defaults to 30s if not set.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_nat#udp_idle_timeout_sec ComputeRouterNat#udp_idle_timeout_sec}