Documentation ¶
Index ¶
- func ComputeRouterNat_GenerateConfigForImport(scope constructs.Construct, importToId *string, importFromId *string, ...) cdktf.ImportableResource
- func ComputeRouterNat_IsConstruct(x interface{}) *bool
- func ComputeRouterNat_IsTerraformElement(x interface{}) *bool
- func ComputeRouterNat_IsTerraformResource(x interface{}) *bool
- func ComputeRouterNat_TfResourceType() *string
- func NewComputeRouterNatLogConfigOutputReference_Override(c ComputeRouterNatLogConfigOutputReference, ...)
- func NewComputeRouterNatRulesActionOutputReference_Override(c ComputeRouterNatRulesActionOutputReference, ...)
- func NewComputeRouterNatRulesList_Override(c ComputeRouterNatRulesList, terraformResource cdktf.IInterpolatingParent, ...)
- func NewComputeRouterNatRulesOutputReference_Override(c ComputeRouterNatRulesOutputReference, ...)
- func NewComputeRouterNatSubnetworkList_Override(c ComputeRouterNatSubnetworkList, terraformResource cdktf.IInterpolatingParent, ...)
- func NewComputeRouterNatSubnetworkOutputReference_Override(c ComputeRouterNatSubnetworkOutputReference, ...)
- func NewComputeRouterNatTimeoutsOutputReference_Override(c ComputeRouterNatTimeoutsOutputReference, ...)
- func NewComputeRouterNat_Override(c ComputeRouterNat, scope constructs.Construct, id *string, ...)
- type ComputeRouterNat
- type ComputeRouterNatConfig
- type ComputeRouterNatLogConfig
- type ComputeRouterNatLogConfigOutputReference
- type ComputeRouterNatRules
- type ComputeRouterNatRulesAction
- type ComputeRouterNatRulesActionOutputReference
- type ComputeRouterNatRulesList
- type ComputeRouterNatRulesOutputReference
- type ComputeRouterNatSubnetwork
- type ComputeRouterNatSubnetworkList
- type ComputeRouterNatSubnetworkOutputReference
- type ComputeRouterNatTimeouts
- type ComputeRouterNatTimeoutsOutputReference
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ComputeRouterNat_GenerateConfigForImport ¶
func ComputeRouterNat_GenerateConfigForImport(scope constructs.Construct, importToId *string, importFromId *string, provider cdktf.TerraformProvider) cdktf.ImportableResource
Generates CDKTF code for importing a ComputeRouterNat resource upon running "cdktf plan <stack-name>".
func ComputeRouterNat_IsConstruct ¶
func ComputeRouterNat_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func ComputeRouterNat_IsTerraformElement ¶
func ComputeRouterNat_IsTerraformElement(x interface{}) *bool
Experimental.
func ComputeRouterNat_IsTerraformResource ¶
func ComputeRouterNat_IsTerraformResource(x interface{}) *bool
Experimental.
func ComputeRouterNat_TfResourceType ¶
func ComputeRouterNat_TfResourceType() *string
func NewComputeRouterNatLogConfigOutputReference_Override ¶
func NewComputeRouterNatLogConfigOutputReference_Override(c ComputeRouterNatLogConfigOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)
func NewComputeRouterNatRulesActionOutputReference_Override ¶
func NewComputeRouterNatRulesActionOutputReference_Override(c ComputeRouterNatRulesActionOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)
func NewComputeRouterNatRulesList_Override ¶
func NewComputeRouterNatRulesList_Override(c ComputeRouterNatRulesList, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool)
func NewComputeRouterNatRulesOutputReference_Override ¶
func NewComputeRouterNatRulesOutputReference_Override(c ComputeRouterNatRulesOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool)
func NewComputeRouterNatSubnetworkList_Override ¶
func NewComputeRouterNatSubnetworkList_Override(c ComputeRouterNatSubnetworkList, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool)
func NewComputeRouterNatSubnetworkOutputReference_Override ¶
func NewComputeRouterNatSubnetworkOutputReference_Override(c ComputeRouterNatSubnetworkOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool)
func NewComputeRouterNatTimeoutsOutputReference_Override ¶
func NewComputeRouterNatTimeoutsOutputReference_Override(c ComputeRouterNatTimeoutsOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)
func NewComputeRouterNat_Override ¶
func NewComputeRouterNat_Override(c ComputeRouterNat, scope constructs.Construct, id *string, config *ComputeRouterNatConfig)
Create a new {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/compute_router_nat google_compute_router_nat} Resource.
Types ¶
type ComputeRouterNat ¶
type ComputeRouterNat interface { cdktf.TerraformResource AutoNetworkTier() *string SetAutoNetworkTier(val *string) AutoNetworkTierInput() *string // Experimental. CdktfStack() cdktf.TerraformStack // Experimental. Connection() interface{} // Experimental. SetConnection(val interface{}) // Experimental. ConstructNodeMetadata() *map[string]interface{} // Experimental. Count() interface{} // Experimental. SetCount(val interface{}) // Experimental. DependsOn() *[]*string // Experimental. SetDependsOn(val *[]*string) DrainNatIps() *[]*string SetDrainNatIps(val *[]*string) DrainNatIpsInput() *[]*string EnableDynamicPortAllocation() interface{} SetEnableDynamicPortAllocation(val interface{}) EnableDynamicPortAllocationInput() interface{} EnableEndpointIndependentMapping() interface{} SetEnableEndpointIndependentMapping(val interface{}) EnableEndpointIndependentMappingInput() interface{} EndpointTypes() *[]*string SetEndpointTypes(val *[]*string) EndpointTypesInput() *[]*string // Experimental. ForEach() cdktf.ITerraformIterator // Experimental. SetForEach(val cdktf.ITerraformIterator) // Experimental. Fqn() *string // Experimental. FriendlyUniqueId() *string IcmpIdleTimeoutSec() *float64 SetIcmpIdleTimeoutSec(val *float64) IcmpIdleTimeoutSecInput() *float64 Id() *string SetId(val *string) IdInput() *string InitialNatIps() *[]*string SetInitialNatIps(val *[]*string) InitialNatIpsInput() *[]*string // Experimental. Lifecycle() *cdktf.TerraformResourceLifecycle // Experimental. SetLifecycle(val *cdktf.TerraformResourceLifecycle) LogConfig() ComputeRouterNatLogConfigOutputReference LogConfigInput() *ComputeRouterNatLogConfig MaxPortsPerVm() *float64 SetMaxPortsPerVm(val *float64) MaxPortsPerVmInput() *float64 MinPortsPerVm() *float64 SetMinPortsPerVm(val *float64) MinPortsPerVmInput() *float64 Name() *string SetName(val *string) NameInput() *string NatIpAllocateOption() *string SetNatIpAllocateOption(val *string) NatIpAllocateOptionInput() *string NatIps() *[]*string SetNatIps(val *[]*string) NatIpsInput() *[]*string // The tree node. Node() constructs.Node Project() *string SetProject(val *string) ProjectInput() *string // Experimental. Provider() cdktf.TerraformProvider // Experimental. SetProvider(val cdktf.TerraformProvider) // Experimental. Provisioners() *[]interface{} // Experimental. SetProvisioners(val *[]interface{}) // Experimental. RawOverrides() interface{} Region() *string SetRegion(val *string) RegionInput() *string Router() *string SetRouter(val *string) RouterInput() *string Rules() ComputeRouterNatRulesList RulesInput() interface{} SourceSubnetworkIpRangesToNat() *string SetSourceSubnetworkIpRangesToNat(val *string) SourceSubnetworkIpRangesToNatInput() *string Subnetwork() ComputeRouterNatSubnetworkList SubnetworkInput() interface{} TcpEstablishedIdleTimeoutSec() *float64 SetTcpEstablishedIdleTimeoutSec(val *float64) TcpEstablishedIdleTimeoutSecInput() *float64 TcpTimeWaitTimeoutSec() *float64 SetTcpTimeWaitTimeoutSec(val *float64) TcpTimeWaitTimeoutSecInput() *float64 TcpTransitoryIdleTimeoutSec() *float64 SetTcpTransitoryIdleTimeoutSec(val *float64) TcpTransitoryIdleTimeoutSecInput() *float64 // Experimental. TerraformGeneratorMetadata() *cdktf.TerraformProviderGeneratorMetadata // Experimental. TerraformMetaArguments() *map[string]interface{} // Experimental. TerraformResourceType() *string Timeouts() ComputeRouterNatTimeoutsOutputReference TimeoutsInput() interface{} UdpIdleTimeoutSec() *float64 SetUdpIdleTimeoutSec(val *float64) UdpIdleTimeoutSecInput() *float64 // Adds a user defined moveTarget string to this resource to be later used in .moveTo(moveTarget) to resolve the location of the move. // Experimental. AddMoveTarget(moveTarget *string) // Experimental. AddOverride(path *string, value interface{}) // Experimental. GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{} // Experimental. GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable // Experimental. GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool // Experimental. GetListAttribute(terraformAttribute *string) *[]*string // Experimental. GetNumberAttribute(terraformAttribute *string) *float64 // Experimental. GetNumberListAttribute(terraformAttribute *string) *[]*float64 // Experimental. GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64 // Experimental. GetStringAttribute(terraformAttribute *string) *string // Experimental. GetStringMapAttribute(terraformAttribute *string) *map[string]*string // Experimental. HasResourceMove() interface{} // Experimental. ImportFrom(id *string, provider cdktf.TerraformProvider) // Experimental. InterpolationForAttribute(terraformAttribute *string) cdktf.IResolvable // Move the resource corresponding to "id" to this resource. // // Note that the resource being moved from must be marked as moved using it's instance function. // Experimental. MoveFromId(id *string) // Moves this resource to the target resource given by moveTarget. // Experimental. MoveTo(moveTarget *string, index interface{}) // Moves this resource to the resource corresponding to "id". // Experimental. MoveToId(id *string) // Overrides the auto-generated logical ID with a specific ID. // Experimental. OverrideLogicalId(newLogicalId *string) PutLogConfig(value *ComputeRouterNatLogConfig) PutRules(value interface{}) PutSubnetwork(value interface{}) PutTimeouts(value *ComputeRouterNatTimeouts) ResetAutoNetworkTier() ResetDrainNatIps() ResetEnableDynamicPortAllocation() ResetEnableEndpointIndependentMapping() ResetEndpointTypes() ResetIcmpIdleTimeoutSec() ResetId() ResetInitialNatIps() ResetLogConfig() ResetMaxPortsPerVm() ResetMinPortsPerVm() ResetNatIpAllocateOption() ResetNatIps() // Resets a previously passed logical Id to use the auto-generated logical id again. // Experimental. ResetOverrideLogicalId() ResetProject() ResetRegion() ResetRules() ResetSubnetwork() ResetTcpEstablishedIdleTimeoutSec() ResetTcpTimeWaitTimeoutSec() ResetTcpTransitoryIdleTimeoutSec() ResetTimeouts() ResetUdpIdleTimeoutSec() SynthesizeAttributes() *map[string]interface{} SynthesizeHclAttributes() *map[string]interface{} // Experimental. ToHclTerraform() interface{} // Experimental. ToMetadata() interface{} // Returns a string representation of this construct. ToString() *string // Adds this resource to the terraform JSON output. // Experimental. ToTerraform() interface{} }
Represents a {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/compute_router_nat google_compute_router_nat}.
func NewComputeRouterNat ¶
func NewComputeRouterNat(scope constructs.Construct, id *string, config *ComputeRouterNatConfig) ComputeRouterNat
Create a new {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/compute_router_nat google_compute_router_nat} Resource.
type ComputeRouterNatConfig ¶
type ComputeRouterNatConfig struct { // Experimental. Connection interface{} `field:"optional" json:"connection" yaml:"connection"` // Experimental. Count interface{} `field:"optional" json:"count" yaml:"count"` // Experimental. DependsOn *[]cdktf.ITerraformDependable `field:"optional" json:"dependsOn" yaml:"dependsOn"` // Experimental. ForEach cdktf.ITerraformIterator `field:"optional" json:"forEach" yaml:"forEach"` // Experimental. Lifecycle *cdktf.TerraformResourceLifecycle `field:"optional" json:"lifecycle" yaml:"lifecycle"` // Experimental. Provider cdktf.TerraformProvider `field:"optional" json:"provider" yaml:"provider"` // Experimental. Provisioners *[]interface{} `field:"optional" json:"provisioners" yaml:"provisioners"` // 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/6.14.1/docs/resources/compute_router_nat#name ComputeRouterNat#name} Name *string `field:"required" json:"name" yaml:"name"` // 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/6.14.1/docs/resources/compute_router_nat#router ComputeRouterNat#router} Router *string `field:"required" json:"router" yaml:"router"` // 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/6.14.1/docs/resources/compute_router_nat#source_subnetwork_ip_ranges_to_nat ComputeRouterNat#source_subnetwork_ip_ranges_to_nat} SourceSubnetworkIpRangesToNat *string `field:"required" json:"sourceSubnetworkIpRangesToNat" yaml:"sourceSubnetworkIpRangesToNat"` // 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/6.14.1/docs/resources/compute_router_nat#auto_network_tier ComputeRouterNat#auto_network_tier} AutoNetworkTier *string `field:"optional" json:"autoNetworkTier" yaml:"autoNetworkTier"` // 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/6.14.1/docs/resources/compute_router_nat#drain_nat_ips ComputeRouterNat#drain_nat_ips} DrainNatIps *[]*string `field:"optional" json:"drainNatIps" yaml:"drainNatIps"` // 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/6.14.1/docs/resources/compute_router_nat#enable_dynamic_port_allocation ComputeRouterNat#enable_dynamic_port_allocation} EnableDynamicPortAllocation interface{} `field:"optional" json:"enableDynamicPortAllocation" yaml:"enableDynamicPortAllocation"` // Enable endpoint independent mapping. For more information see the [official documentation](https://cloud.google.com/nat/docs/overview#specs-rfcs). // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/compute_router_nat#enable_endpoint_independent_mapping ComputeRouterNat#enable_endpoint_independent_mapping} EnableEndpointIndependentMapping interface{} `field:"optional" json:"enableEndpointIndependentMapping" yaml:"enableEndpointIndependentMapping"` // 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/6.14.1/docs/resources/compute_router_nat#endpoint_types ComputeRouterNat#endpoint_types} EndpointTypes *[]*string `field:"optional" json:"endpointTypes" yaml:"endpointTypes"` // Timeout (in seconds) for ICMP connections. Defaults to 30s if not set. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/compute_router_nat#icmp_idle_timeout_sec ComputeRouterNat#icmp_idle_timeout_sec} IcmpIdleTimeoutSec *float64 `field:"optional" json:"icmpIdleTimeoutSec" yaml:"icmpIdleTimeoutSec"` // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.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. Id *string `field:"optional" json:"id" yaml:"id"` // Self-links of NAT IPs to be used as initial value for creation alongside a RouterNatAddress resource. // // Conflicts with natIps and drainNatIps. Only valid if natIpAllocateOption is set to MANUAL_ONLY. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/compute_router_nat#initial_nat_ips ComputeRouterNat#initial_nat_ips} InitialNatIps *[]*string `field:"optional" json:"initialNatIps" yaml:"initialNatIps"` // log_config block. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/compute_router_nat#log_config ComputeRouterNat#log_config} LogConfig *ComputeRouterNatLogConfig `field:"optional" json:"logConfig" yaml:"logConfig"` // 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/6.14.1/docs/resources/compute_router_nat#max_ports_per_vm ComputeRouterNat#max_ports_per_vm} MaxPortsPerVm *float64 `field:"optional" json:"maxPortsPerVm" yaml:"maxPortsPerVm"` // 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/6.14.1/docs/resources/compute_router_nat#min_ports_per_vm ComputeRouterNat#min_ports_per_vm} MinPortsPerVm *float64 `field:"optional" json:"minPortsPerVm" yaml:"minPortsPerVm"` // 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/6.14.1/docs/resources/compute_router_nat#nat_ip_allocate_option ComputeRouterNat#nat_ip_allocate_option} NatIpAllocateOption *string `field:"optional" json:"natIpAllocateOption" yaml:"natIpAllocateOption"` // Self-links of NAT IPs. // // Only valid if natIpAllocateOption // is set to MANUAL_ONLY. // If this field is used alongside with a count created list of address resources 'google_compute_address.foobar.*.self_link', // the access level resource for the address resource must have a 'lifecycle' block with 'create_before_destroy = true' so // the number of resources can be increased/decreased without triggering the 'resourceInUseByAnotherResource' error. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/compute_router_nat#nat_ips ComputeRouterNat#nat_ips} NatIps *[]*string `field:"optional" json:"natIps" yaml:"natIps"` // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/compute_router_nat#project ComputeRouterNat#project}. Project *string `field:"optional" json:"project" yaml:"project"` // Region where the router and NAT reside. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/compute_router_nat#region ComputeRouterNat#region} Region *string `field:"optional" json:"region" yaml:"region"` // rules block. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/compute_router_nat#rules ComputeRouterNat#rules} Rules interface{} `field:"optional" json:"rules" yaml:"rules"` // subnetwork block. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/compute_router_nat#subnetwork ComputeRouterNat#subnetwork} Subnetwork interface{} `field:"optional" json:"subnetwork" yaml:"subnetwork"` // 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/6.14.1/docs/resources/compute_router_nat#tcp_established_idle_timeout_sec ComputeRouterNat#tcp_established_idle_timeout_sec} TcpEstablishedIdleTimeoutSec *float64 `field:"optional" json:"tcpEstablishedIdleTimeoutSec" yaml:"tcpEstablishedIdleTimeoutSec"` // 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/6.14.1/docs/resources/compute_router_nat#tcp_time_wait_timeout_sec ComputeRouterNat#tcp_time_wait_timeout_sec} TcpTimeWaitTimeoutSec *float64 `field:"optional" json:"tcpTimeWaitTimeoutSec" yaml:"tcpTimeWaitTimeoutSec"` // 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/6.14.1/docs/resources/compute_router_nat#tcp_transitory_idle_timeout_sec ComputeRouterNat#tcp_transitory_idle_timeout_sec} TcpTransitoryIdleTimeoutSec *float64 `field:"optional" json:"tcpTransitoryIdleTimeoutSec" yaml:"tcpTransitoryIdleTimeoutSec"` // timeouts block. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/compute_router_nat#timeouts ComputeRouterNat#timeouts} Timeouts *ComputeRouterNatTimeouts `field:"optional" json:"timeouts" yaml:"timeouts"` // Timeout (in seconds) for UDP connections. Defaults to 30s if not set. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/compute_router_nat#udp_idle_timeout_sec ComputeRouterNat#udp_idle_timeout_sec} UdpIdleTimeoutSec *float64 `field:"optional" json:"udpIdleTimeoutSec" yaml:"udpIdleTimeoutSec"` }
type ComputeRouterNatLogConfig ¶
type ComputeRouterNatLogConfig struct { // Indicates whether or not to export logs. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/compute_router_nat#enable ComputeRouterNat#enable} Enable interface{} `field:"required" json:"enable" yaml:"enable"` // Specifies the desired filtering of logs on this NAT. Possible values: ["ERRORS_ONLY", "TRANSLATIONS_ONLY", "ALL"]. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/compute_router_nat#filter ComputeRouterNat#filter} Filter *string `field:"required" json:"filter" yaml:"filter"` }
type ComputeRouterNatLogConfigOutputReference ¶
type ComputeRouterNatLogConfigOutputReference interface { cdktf.ComplexObject // the index of the complex object in a list. // Experimental. ComplexObjectIndex() interface{} // Experimental. SetComplexObjectIndex(val interface{}) // set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items. // Experimental. ComplexObjectIsFromSet() *bool // Experimental. SetComplexObjectIsFromSet(val *bool) // The creation stack of this resolvable which will be appended to errors thrown during resolution. // // If this returns an empty array the stack will not be attached. // Experimental. CreationStack() *[]*string Enable() interface{} SetEnable(val interface{}) EnableInput() interface{} Filter() *string SetFilter(val *string) FilterInput() *string // Experimental. Fqn() *string InternalValue() *ComputeRouterNatLogConfig SetInternalValue(val *ComputeRouterNatLogConfig) // Experimental. TerraformAttribute() *string // Experimental. SetTerraformAttribute(val *string) // Experimental. TerraformResource() cdktf.IInterpolatingParent // Experimental. SetTerraformResource(val cdktf.IInterpolatingParent) // Experimental. ComputeFqn() *string // Experimental. GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{} // Experimental. GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable // Experimental. GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool // Experimental. GetListAttribute(terraformAttribute *string) *[]*string // Experimental. GetNumberAttribute(terraformAttribute *string) *float64 // Experimental. GetNumberListAttribute(terraformAttribute *string) *[]*float64 // Experimental. GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64 // Experimental. GetStringAttribute(terraformAttribute *string) *string // Experimental. GetStringMapAttribute(terraformAttribute *string) *map[string]*string // Experimental. InterpolationAsList() cdktf.IResolvable // Experimental. InterpolationForAttribute(property *string) cdktf.IResolvable // Produce the Token's value at resolution time. // Experimental. Resolve(_context cdktf.IResolveContext) interface{} // Return a string representation of this resolvable object. // // Returns a reversible string representation. // Experimental. ToString() *string }
func NewComputeRouterNatLogConfigOutputReference ¶
func NewComputeRouterNatLogConfigOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) ComputeRouterNatLogConfigOutputReference
type ComputeRouterNatRules ¶
type ComputeRouterNatRules struct { // CEL expression that specifies the match condition that egress traffic from a VM is evaluated against. // // If it evaluates to true, the corresponding action is enforced. // // The following examples are valid match expressions for public NAT: // // "inIpRange(destination.ip, '1.1.0.0/16') || inIpRange(destination.ip, '2.2.0.0/16')" // // "destination.ip == '1.1.0.1' || destination.ip == '8.8.8.8'" // // The following example is a valid match expression for private NAT: // // "nexthop.hub == 'https://networkconnectivity.googleapis.com/v1alpha1/projects/my-project/global/hub/hub-1'" // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/compute_router_nat#match ComputeRouterNat#match} Match *string `field:"required" json:"match" yaml:"match"` // An integer uniquely identifying a rule in the list. // // The rule number must be a positive value between 0 and 65000, and must be unique among rules within a NAT. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/compute_router_nat#rule_number ComputeRouterNat#rule_number} RuleNumber *float64 `field:"required" json:"ruleNumber" yaml:"ruleNumber"` // action block. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/compute_router_nat#action ComputeRouterNat#action} Action *ComputeRouterNatRulesAction `field:"optional" json:"action" yaml:"action"` // An optional description of this rule. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/compute_router_nat#description ComputeRouterNat#description} Description *string `field:"optional" json:"description" yaml:"description"` }
type ComputeRouterNatRulesAction ¶
type ComputeRouterNatRulesAction struct { // A list of URLs of the IP resources used for this NAT rule. // // These IP addresses must be valid static external IP addresses assigned to the project. // This field is used for public NAT. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/compute_router_nat#source_nat_active_ips ComputeRouterNat#source_nat_active_ips} SourceNatActiveIps *[]*string `field:"optional" json:"sourceNatActiveIps" yaml:"sourceNatActiveIps"` // 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. // These IPs should be used for updating/patching a NAT rule only. // This field is used for public NAT. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/compute_router_nat#source_nat_drain_ips ComputeRouterNat#source_nat_drain_ips} SourceNatDrainIps *[]*string `field:"optional" json:"sourceNatDrainIps" yaml:"sourceNatDrainIps"` }
type ComputeRouterNatRulesActionOutputReference ¶
type ComputeRouterNatRulesActionOutputReference interface { cdktf.ComplexObject // the index of the complex object in a list. // Experimental. ComplexObjectIndex() interface{} // Experimental. SetComplexObjectIndex(val interface{}) // set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items. // Experimental. ComplexObjectIsFromSet() *bool // Experimental. SetComplexObjectIsFromSet(val *bool) // The creation stack of this resolvable which will be appended to errors thrown during resolution. // // If this returns an empty array the stack will not be attached. // Experimental. CreationStack() *[]*string // Experimental. Fqn() *string InternalValue() *ComputeRouterNatRulesAction SetInternalValue(val *ComputeRouterNatRulesAction) SourceNatActiveIps() *[]*string SetSourceNatActiveIps(val *[]*string) SourceNatActiveIpsInput() *[]*string SourceNatDrainIps() *[]*string SetSourceNatDrainIps(val *[]*string) SourceNatDrainIpsInput() *[]*string // Experimental. TerraformAttribute() *string // Experimental. SetTerraformAttribute(val *string) // Experimental. TerraformResource() cdktf.IInterpolatingParent // Experimental. SetTerraformResource(val cdktf.IInterpolatingParent) // Experimental. ComputeFqn() *string // Experimental. GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{} // Experimental. GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable // Experimental. GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool // Experimental. GetListAttribute(terraformAttribute *string) *[]*string // Experimental. GetNumberAttribute(terraformAttribute *string) *float64 // Experimental. GetNumberListAttribute(terraformAttribute *string) *[]*float64 // Experimental. GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64 // Experimental. GetStringAttribute(terraformAttribute *string) *string // Experimental. GetStringMapAttribute(terraformAttribute *string) *map[string]*string // Experimental. InterpolationAsList() cdktf.IResolvable // Experimental. InterpolationForAttribute(property *string) cdktf.IResolvable ResetSourceNatActiveIps() ResetSourceNatDrainIps() // Produce the Token's value at resolution time. // Experimental. Resolve(_context cdktf.IResolveContext) interface{} // Return a string representation of this resolvable object. // // Returns a reversible string representation. // Experimental. ToString() *string }
func NewComputeRouterNatRulesActionOutputReference ¶
func NewComputeRouterNatRulesActionOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) ComputeRouterNatRulesActionOutputReference
type ComputeRouterNatRulesList ¶
type ComputeRouterNatRulesList interface { cdktf.ComplexList // The creation stack of this resolvable which will be appended to errors thrown during resolution. // // If this returns an empty array the stack will not be attached. // Experimental. CreationStack() *[]*string // Experimental. Fqn() *string InternalValue() interface{} SetInternalValue(val interface{}) // The attribute on the parent resource this class is referencing. TerraformAttribute() *string SetTerraformAttribute(val *string) // The parent resource. TerraformResource() cdktf.IInterpolatingParent SetTerraformResource(val cdktf.IInterpolatingParent) // whether the list is wrapping a set (will add tolist() to be able to access an item via an index). WrapsSet() *bool SetWrapsSet(val *bool) // Creating an iterator for this complex list. // // The list will be converted into a map with the mapKeyAttributeName as the key. // Experimental. AllWithMapKey(mapKeyAttributeName *string) cdktf.DynamicListTerraformIterator // Experimental. ComputeFqn() *string Get(index *float64) ComputeRouterNatRulesOutputReference // Produce the Token's value at resolution time. // Experimental. Resolve(_context cdktf.IResolveContext) interface{} // Return a string representation of this resolvable object. // // Returns a reversible string representation. // Experimental. ToString() *string }
func NewComputeRouterNatRulesList ¶
func NewComputeRouterNatRulesList(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool) ComputeRouterNatRulesList
type ComputeRouterNatRulesOutputReference ¶
type ComputeRouterNatRulesOutputReference interface { cdktf.ComplexObject Action() ComputeRouterNatRulesActionOutputReference ActionInput() *ComputeRouterNatRulesAction // the index of the complex object in a list. // Experimental. ComplexObjectIndex() interface{} // Experimental. SetComplexObjectIndex(val interface{}) // set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items. // Experimental. ComplexObjectIsFromSet() *bool // Experimental. SetComplexObjectIsFromSet(val *bool) // The creation stack of this resolvable which will be appended to errors thrown during resolution. // // If this returns an empty array the stack will not be attached. // Experimental. CreationStack() *[]*string Description() *string SetDescription(val *string) DescriptionInput() *string // Experimental. Fqn() *string InternalValue() interface{} SetInternalValue(val interface{}) Match() *string SetMatch(val *string) MatchInput() *string RuleNumber() *float64 SetRuleNumber(val *float64) RuleNumberInput() *float64 // Experimental. TerraformAttribute() *string // Experimental. SetTerraformAttribute(val *string) // Experimental. TerraformResource() cdktf.IInterpolatingParent // Experimental. SetTerraformResource(val cdktf.IInterpolatingParent) // Experimental. ComputeFqn() *string // Experimental. GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{} // Experimental. GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable // Experimental. GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool // Experimental. GetListAttribute(terraformAttribute *string) *[]*string // Experimental. GetNumberAttribute(terraformAttribute *string) *float64 // Experimental. GetNumberListAttribute(terraformAttribute *string) *[]*float64 // Experimental. GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64 // Experimental. GetStringAttribute(terraformAttribute *string) *string // Experimental. GetStringMapAttribute(terraformAttribute *string) *map[string]*string // Experimental. InterpolationAsList() cdktf.IResolvable // Experimental. InterpolationForAttribute(property *string) cdktf.IResolvable PutAction(value *ComputeRouterNatRulesAction) ResetAction() ResetDescription() // Produce the Token's value at resolution time. // Experimental. Resolve(_context cdktf.IResolveContext) interface{} // Return a string representation of this resolvable object. // // Returns a reversible string representation. // Experimental. ToString() *string }
func NewComputeRouterNatRulesOutputReference ¶
func NewComputeRouterNatRulesOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool) ComputeRouterNatRulesOutputReference
type ComputeRouterNatSubnetwork ¶
type ComputeRouterNatSubnetwork struct { // Self-link of subnetwork to NAT. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/compute_router_nat#name ComputeRouterNat#name} Name *string `field:"required" json:"name" yaml:"name"` // List of options for which source IPs in the subnetwork should have NAT enabled. Supported values include: 'ALL_IP_RANGES', 'LIST_OF_SECONDARY_IP_RANGES', 'PRIMARY_IP_RANGE'. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/compute_router_nat#source_ip_ranges_to_nat ComputeRouterNat#source_ip_ranges_to_nat} SourceIpRangesToNat *[]*string `field:"required" json:"sourceIpRangesToNat" yaml:"sourceIpRangesToNat"` // List of the secondary ranges of the subnetwork that are allowed to use NAT. // // This can be populated only if // 'LIST_OF_SECONDARY_IP_RANGES' is one of the values in // sourceIpRangesToNat // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/compute_router_nat#secondary_ip_range_names ComputeRouterNat#secondary_ip_range_names} SecondaryIpRangeNames *[]*string `field:"optional" json:"secondaryIpRangeNames" yaml:"secondaryIpRangeNames"` }
type ComputeRouterNatSubnetworkList ¶
type ComputeRouterNatSubnetworkList interface { cdktf.ComplexList // The creation stack of this resolvable which will be appended to errors thrown during resolution. // // If this returns an empty array the stack will not be attached. // Experimental. CreationStack() *[]*string // Experimental. Fqn() *string InternalValue() interface{} SetInternalValue(val interface{}) // The attribute on the parent resource this class is referencing. TerraformAttribute() *string SetTerraformAttribute(val *string) // The parent resource. TerraformResource() cdktf.IInterpolatingParent SetTerraformResource(val cdktf.IInterpolatingParent) // whether the list is wrapping a set (will add tolist() to be able to access an item via an index). WrapsSet() *bool SetWrapsSet(val *bool) // Creating an iterator for this complex list. // // The list will be converted into a map with the mapKeyAttributeName as the key. // Experimental. AllWithMapKey(mapKeyAttributeName *string) cdktf.DynamicListTerraformIterator // Experimental. ComputeFqn() *string Get(index *float64) ComputeRouterNatSubnetworkOutputReference // Produce the Token's value at resolution time. // Experimental. Resolve(_context cdktf.IResolveContext) interface{} // Return a string representation of this resolvable object. // // Returns a reversible string representation. // Experimental. ToString() *string }
func NewComputeRouterNatSubnetworkList ¶
func NewComputeRouterNatSubnetworkList(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool) ComputeRouterNatSubnetworkList
type ComputeRouterNatSubnetworkOutputReference ¶
type ComputeRouterNatSubnetworkOutputReference interface { cdktf.ComplexObject // the index of the complex object in a list. // Experimental. ComplexObjectIndex() interface{} // Experimental. SetComplexObjectIndex(val interface{}) // set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items. // Experimental. ComplexObjectIsFromSet() *bool // Experimental. SetComplexObjectIsFromSet(val *bool) // The creation stack of this resolvable which will be appended to errors thrown during resolution. // // If this returns an empty array the stack will not be attached. // Experimental. CreationStack() *[]*string // Experimental. Fqn() *string InternalValue() interface{} SetInternalValue(val interface{}) Name() *string SetName(val *string) NameInput() *string SecondaryIpRangeNames() *[]*string SetSecondaryIpRangeNames(val *[]*string) SecondaryIpRangeNamesInput() *[]*string SourceIpRangesToNat() *[]*string SetSourceIpRangesToNat(val *[]*string) SourceIpRangesToNatInput() *[]*string // Experimental. TerraformAttribute() *string // Experimental. SetTerraformAttribute(val *string) // Experimental. TerraformResource() cdktf.IInterpolatingParent // Experimental. SetTerraformResource(val cdktf.IInterpolatingParent) // Experimental. ComputeFqn() *string // Experimental. GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{} // Experimental. GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable // Experimental. GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool // Experimental. GetListAttribute(terraformAttribute *string) *[]*string // Experimental. GetNumberAttribute(terraformAttribute *string) *float64 // Experimental. GetNumberListAttribute(terraformAttribute *string) *[]*float64 // Experimental. GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64 // Experimental. GetStringAttribute(terraformAttribute *string) *string // Experimental. GetStringMapAttribute(terraformAttribute *string) *map[string]*string // Experimental. InterpolationAsList() cdktf.IResolvable // Experimental. InterpolationForAttribute(property *string) cdktf.IResolvable ResetSecondaryIpRangeNames() // Produce the Token's value at resolution time. // Experimental. Resolve(_context cdktf.IResolveContext) interface{} // Return a string representation of this resolvable object. // // Returns a reversible string representation. // Experimental. ToString() *string }
func NewComputeRouterNatSubnetworkOutputReference ¶
func NewComputeRouterNatSubnetworkOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool) ComputeRouterNatSubnetworkOutputReference
type ComputeRouterNatTimeouts ¶
type ComputeRouterNatTimeouts struct { // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/compute_router_nat#create ComputeRouterNat#create}. Create *string `field:"optional" json:"create" yaml:"create"` // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/compute_router_nat#delete ComputeRouterNat#delete}. Delete *string `field:"optional" json:"delete" yaml:"delete"` // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.14.1/docs/resources/compute_router_nat#update ComputeRouterNat#update}. Update *string `field:"optional" json:"update" yaml:"update"` }
type ComputeRouterNatTimeoutsOutputReference ¶
type ComputeRouterNatTimeoutsOutputReference interface { cdktf.ComplexObject // the index of the complex object in a list. // Experimental. ComplexObjectIndex() interface{} // Experimental. SetComplexObjectIndex(val interface{}) // set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items. // Experimental. ComplexObjectIsFromSet() *bool // Experimental. SetComplexObjectIsFromSet(val *bool) Create() *string SetCreate(val *string) CreateInput() *string // The creation stack of this resolvable which will be appended to errors thrown during resolution. // // If this returns an empty array the stack will not be attached. // Experimental. CreationStack() *[]*string Delete() *string SetDelete(val *string) DeleteInput() *string // Experimental. Fqn() *string InternalValue() interface{} SetInternalValue(val interface{}) // Experimental. TerraformAttribute() *string // Experimental. SetTerraformAttribute(val *string) // Experimental. TerraformResource() cdktf.IInterpolatingParent // Experimental. SetTerraformResource(val cdktf.IInterpolatingParent) Update() *string SetUpdate(val *string) UpdateInput() *string // Experimental. ComputeFqn() *string // Experimental. GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{} // Experimental. GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable // Experimental. GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool // Experimental. GetListAttribute(terraformAttribute *string) *[]*string // Experimental. GetNumberAttribute(terraformAttribute *string) *float64 // Experimental. GetNumberListAttribute(terraformAttribute *string) *[]*float64 // Experimental. GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64 // Experimental. GetStringAttribute(terraformAttribute *string) *string // Experimental. GetStringMapAttribute(terraformAttribute *string) *map[string]*string // Experimental. InterpolationAsList() cdktf.IResolvable // Experimental. InterpolationForAttribute(property *string) cdktf.IResolvable ResetCreate() ResetDelete() ResetUpdate() // Produce the Token's value at resolution time. // Experimental. Resolve(_context cdktf.IResolveContext) interface{} // Return a string representation of this resolvable object. // // Returns a reversible string representation. // Experimental. ToString() *string }
func NewComputeRouterNatTimeoutsOutputReference ¶
func NewComputeRouterNatTimeoutsOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) ComputeRouterNatTimeoutsOutputReference
Source Files ¶
- ComputeRouterNat.go
- ComputeRouterNatConfig.go
- ComputeRouterNatLogConfig.go
- ComputeRouterNatLogConfigOutputReference.go
- ComputeRouterNatLogConfigOutputReference__checks.go
- ComputeRouterNatRules.go
- ComputeRouterNatRulesAction.go
- ComputeRouterNatRulesActionOutputReference.go
- ComputeRouterNatRulesActionOutputReference__checks.go
- ComputeRouterNatRulesList.go
- ComputeRouterNatRulesList__checks.go
- ComputeRouterNatRulesOutputReference.go
- ComputeRouterNatRulesOutputReference__checks.go
- ComputeRouterNatSubnetwork.go
- ComputeRouterNatSubnetworkList.go
- ComputeRouterNatSubnetworkList__checks.go
- ComputeRouterNatSubnetworkOutputReference.go
- ComputeRouterNatSubnetworkOutputReference__checks.go
- ComputeRouterNatTimeouts.go
- ComputeRouterNatTimeoutsOutputReference.go
- ComputeRouterNatTimeoutsOutputReference__checks.go
- ComputeRouterNat__checks.go
- main.go