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/5.3.0/docs/resources/compute_router_nat google_compute_router_nat} Resource.
Types ¶
type ComputeRouterNat ¶
type ComputeRouterNat interface {
cdktf.TerraformResource
// 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{}
// 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
// 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.
ImportFrom(id *string, provider cdktf.TerraformProvider)
// Experimental.
InterpolationForAttribute(terraformAttribute *string) cdktf.IResolvable
// Moves this resource to the target resource given by moveTarget.
// Experimental.
MoveTo(moveTarget *string, index interface{})
// 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)
ResetDrainNatIps()
ResetEnableDynamicPortAllocation()
ResetEnableEndpointIndependentMapping()
ResetIcmpIdleTimeoutSec()
ResetId()
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{}
// 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/5.3.0/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/5.3.0/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/5.3.0/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/5.3.0/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/5.3.0/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"`
// 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.3.0/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/5.3.0/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/5.3.0/docs/resources/compute_router_nat#enable_endpoint_independent_mapping ComputeRouterNat#enable_endpoint_independent_mapping}
EnableEndpointIndependentMapping interface{} `field:"optional" json:"enableEndpointIndependentMapping" yaml:"enableEndpointIndependentMapping"`
// 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.3.0/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/5.3.0/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"`
// log_config block.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.3.0/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/5.3.0/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.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.3.0/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/5.3.0/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.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.3.0/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/5.3.0/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/5.3.0/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/5.3.0/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/5.3.0/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/5.3.0/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/5.3.0/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/5.3.0/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/5.3.0/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/5.3.0/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/5.3.0/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/5.3.0/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/5.3.0/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/5.3.0/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/5.3.0/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/5.3.0/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/5.3.0/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/5.3.0/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)
// 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/5.3.0/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/5.3.0/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/5.3.0/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)
// 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/5.3.0/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/5.3.0/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/5.3.0/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