Class ComputeRouterNatConfig.Jsii$Proxy

    • Constructor Detail

      • Jsii$Proxy

        protected Jsii$Proxy​(software.amazon.jsii.JsiiObjectRef objRef)
        Constructor that initializes the object based on values retrieved from the JsiiObject.
        Parameters:
        objRef - Reference to the JSII managed object.
    • Method Detail

      • getName

        public final String getName()
        Description copied from interface: ComputeRouterNatConfig
        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}

        Specified by:
        getName in interface ComputeRouterNatConfig
      • getRouter

        public final String getRouter()
        Description copied from interface: ComputeRouterNatConfig
        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}

        Specified by:
        getRouter in interface ComputeRouterNatConfig
      • getSourceSubnetworkIpRangesToNat

        public final String getSourceSubnetworkIpRangesToNat()
        Description copied from interface: ComputeRouterNatConfig
        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}

        Specified by:
        getSourceSubnetworkIpRangesToNat in interface ComputeRouterNatConfig
      • getAutoNetworkTier

        public final String getAutoNetworkTier()
        Description copied from interface: ComputeRouterNatConfig
        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}

        Specified by:
        getAutoNetworkTier in interface ComputeRouterNatConfig
      • getDrainNatIps

        public final List<String> getDrainNatIps()
        Description copied from interface: ComputeRouterNatConfig
        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}

        Specified by:
        getDrainNatIps in interface ComputeRouterNatConfig
      • getEnableDynamicPortAllocation

        public final Object getEnableDynamicPortAllocation()
        Description copied from interface: ComputeRouterNatConfig
        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}

        Specified by:
        getEnableDynamicPortAllocation in interface ComputeRouterNatConfig
      • getEnableEndpointIndependentMapping

        public final Object getEnableEndpointIndependentMapping()
        Description copied from interface: ComputeRouterNatConfig
        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}

        Specified by:
        getEnableEndpointIndependentMapping in interface ComputeRouterNatConfig
      • getEndpointTypes

        public final List<String> getEndpointTypes()
        Description copied from interface: ComputeRouterNatConfig
        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}

        Specified by:
        getEndpointTypes in interface ComputeRouterNatConfig
      • getIcmpIdleTimeoutSec

        public final Number getIcmpIdleTimeoutSec()
        Description copied from interface: ComputeRouterNatConfig
        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}

        Specified by:
        getIcmpIdleTimeoutSec in interface ComputeRouterNatConfig
      • getId

        public final String getId()
        Description copied from interface: ComputeRouterNatConfig
        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.

        Specified by:
        getId in interface ComputeRouterNatConfig
      • getMaxPortsPerVm

        public final Number getMaxPortsPerVm()
        Description copied from interface: ComputeRouterNatConfig
        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}

        Specified by:
        getMaxPortsPerVm in interface ComputeRouterNatConfig
      • getMinPortsPerVm

        public final Number getMinPortsPerVm()
        Description copied from interface: ComputeRouterNatConfig
        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}

        Specified by:
        getMinPortsPerVm in interface ComputeRouterNatConfig
      • getNatIpAllocateOption

        public final String getNatIpAllocateOption()
        Description copied from interface: ComputeRouterNatConfig
        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}

        Specified by:
        getNatIpAllocateOption in interface ComputeRouterNatConfig
      • getNatIps

        public final List<String> getNatIps()
        Description copied from interface: ComputeRouterNatConfig
        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}

        Specified by:
        getNatIps in interface ComputeRouterNatConfig
      • getProject

        public final String getProject()
        Description copied from interface: ComputeRouterNatConfig
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_router_nat#project ComputeRouterNat#project}.
        Specified by:
        getProject in interface ComputeRouterNatConfig
      • getRegion

        public final String getRegion()
        Description copied from interface: ComputeRouterNatConfig
        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}

        Specified by:
        getRegion in interface ComputeRouterNatConfig
      • getRules

        public final Object getRules()
        Description copied from interface: ComputeRouterNatConfig
        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}

        Specified by:
        getRules in interface ComputeRouterNatConfig
      • getSubnetwork

        public final Object getSubnetwork()
        Description copied from interface: ComputeRouterNatConfig
        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}

        Specified by:
        getSubnetwork in interface ComputeRouterNatConfig
      • getTcpEstablishedIdleTimeoutSec

        public final Number getTcpEstablishedIdleTimeoutSec()
        Description copied from interface: ComputeRouterNatConfig
        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}

        Specified by:
        getTcpEstablishedIdleTimeoutSec in interface ComputeRouterNatConfig
      • getTcpTimeWaitTimeoutSec

        public final Number getTcpTimeWaitTimeoutSec()
        Description copied from interface: ComputeRouterNatConfig
        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}

        Specified by:
        getTcpTimeWaitTimeoutSec in interface ComputeRouterNatConfig
      • getTcpTransitoryIdleTimeoutSec

        public final Number getTcpTransitoryIdleTimeoutSec()
        Description copied from interface: ComputeRouterNatConfig
        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}

        Specified by:
        getTcpTransitoryIdleTimeoutSec in interface ComputeRouterNatConfig
      • getUdpIdleTimeoutSec

        public final Number getUdpIdleTimeoutSec()
        Description copied from interface: ComputeRouterNatConfig
        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}

        Specified by:
        getUdpIdleTimeoutSec in interface ComputeRouterNatConfig
      • getConnection

        public final Object getConnection()
        Specified by:
        getConnection in interface com.hashicorp.cdktf.TerraformMetaArguments
      • getCount

        public final Object getCount()
        Specified by:
        getCount in interface com.hashicorp.cdktf.TerraformMetaArguments
      • getDependsOn

        public final List<com.hashicorp.cdktf.ITerraformDependable> getDependsOn()
        Specified by:
        getDependsOn in interface com.hashicorp.cdktf.TerraformMetaArguments
      • getForEach

        public final com.hashicorp.cdktf.ITerraformIterator getForEach()
        Specified by:
        getForEach in interface com.hashicorp.cdktf.TerraformMetaArguments
      • getLifecycle

        public final com.hashicorp.cdktf.TerraformResourceLifecycle getLifecycle()
        Specified by:
        getLifecycle in interface com.hashicorp.cdktf.TerraformMetaArguments
      • getProvider

        public final com.hashicorp.cdktf.TerraformProvider getProvider()
        Specified by:
        getProvider in interface com.hashicorp.cdktf.TerraformMetaArguments
      • getProvisioners

        public final List<Object> getProvisioners()
        Specified by:
        getProvisioners in interface com.hashicorp.cdktf.TerraformMetaArguments
      • $jsii$toJson

        @Internal
        public com.fasterxml.jackson.databind.JsonNode $jsii$toJson()
        Specified by:
        $jsii$toJson in interface software.amazon.jsii.JsiiSerializable
      • hashCode

        public final int hashCode()
        Overrides:
        hashCode in class Object