ComputeRouterNAT

Property Value
Google Cloud Service Name Compute Engine
Google Cloud Service Documentation /compute/docs/
Google Cloud REST Resource Name v1.routers
Google Cloud REST Resource Documentation /compute/docs/reference/rest/v1/routers
Config Connector Resource Short Names computerouternat
gcpcomputerouternat
gcpcomputerouternats
Config Connector Service Name compute.googleapis.com
Config Connector Resource Fully Qualified Name computerouternats.compute.cnrm.cloud.google.com
Can Be Referenced by IAMPolicy/IAMPolicyMember No
Config Connector Default Average Reconcile Interval In Seconds 600

Custom Resource Definition Properties

Annotations

Fields
cnrm.cloud.google.com/project-id

Spec

Schema

drainNatIps:
- external: string
  name: string
  namespace: string
enableDynamicPortAllocation: boolean
enableEndpointIndependentMapping: boolean
endpointTypes:
- string
icmpIdleTimeoutSec: integer
logConfig:
  enable: boolean
  filter: string
maxPortsPerVm: integer
minPortsPerVm: integer
natIpAllocateOption: string
natIps:
- external: string
  name: string
  namespace: string
region: string
resourceID: string
routerRef:
  external: string
  name: string
  namespace: string
rules:
- action:
    sourceNatActiveIpsRefs:
    - external: string
      name: string
      namespace: string
    sourceNatActiveRangesRefs:
    - external: string
      name: string
      namespace: string
    sourceNatDrainIpsRefs:
    - external: string
      name: string
      namespace: string
    sourceNatDrainRangesRefs:
    - external: string
      name: string
      namespace: string
  description: string
  match: string
  ruleNumber: integer
sourceSubnetworkIpRangesToNat: string
subnetwork:
- secondaryIpRangeNames:
  - string
  sourceIpRangesToNat:
  - string
  subnetworkRef:
    external: string
    name: string
    namespace: string
tcpEstablishedIdleTimeoutSec: integer
tcpTimeWaitTimeoutSec: integer
tcpTransitoryIdleTimeoutSec: integer
type: string
udpIdleTimeoutSec: integer
Fields

drainNatIps

Optional

list (object)

A list of IP resources to be drained. These IPs must be valid static external IPs that have been assigned to the NAT.

drainNatIps[]

Optional

object

ComputeAddressRef is a reference to a Google Cloud ComputeAddress.

drainNatIps[].external

Optional

string

A reference to an externally managed ComputeAddress resource. Should be in the format "projects/{{projectID}}/global/addresses/{{addressID}}" or "projects/{{projectID}}/regions/{{region}}/addresses/{{addressID}}".

drainNatIps[].name

Optional

string

The name of a ComputeAddress resource.

drainNatIps[].namespace

Optional

string

The namespace of a ComputeAddress resource.

enableDynamicPortAllocation

Optional

boolean

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.

enableEndpointIndependentMapping

Optional

boolean

Specifies if endpoint independent mapping is enabled. This is enabled by default. For more information see the [official documentation](https://cloud.google.com/nat/docs/overview#specs-rfcs).

endpointTypes

Optional

list (string)

Immutable. Specifies the endpoint Types supported by the NAT Gateway. Supported values include: 'ENDPOINT_TYPE_VM', 'ENDPOINT_TYPE_SWG', 'ENDPOINT_TYPE_MANAGED_PROXY_LB'.

endpointTypes[]

Optional

string

icmpIdleTimeoutSec

Optional

integer

Timeout (in seconds) for ICMP connections. Defaults to 30s if not set.

logConfig

Optional

object

Configuration for logging on NAT.

logConfig.enable

Required*

boolean

Indicates whether or not to export logs.

logConfig.filter

Required*

string

Specifies the desired filtering of logs on this NAT. Possible values: ["ERRORS_ONLY", "TRANSLATIONS_ONLY", "ALL"].

maxPortsPerVm

Optional

integer

Maximum number of ports allocated to a VM from this NAT. This field can only be set when enableDynamicPortAllocation is enabled.

minPortsPerVm

Optional

integer

Minimum number of ports allocated to a VM from this NAT.

natIpAllocateOption

Optional

string

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"].

natIps

Optional

list (object)

NAT IPs. Only valid if natIpAllocateOption is set to MANUAL_ONLY.

natIps[]

Optional

object

ComputeAddressRef is a reference to a Google Cloud ComputeAddress.

natIps[].external

Optional

string

A reference to an externally managed ComputeAddress resource. Should be in the format "projects/{{projectID}}/global/addresses/{{addressID}}" or "projects/{{projectID}}/regions/{{region}}/addresses/{{addressID}}".

natIps[].name

Optional

string

The name of a ComputeAddress resource.

natIps[].namespace

Optional

string

The namespace of a ComputeAddress resource.

region

Required

string

Immutable. Region where the router and NAT reside.

resourceID

Optional

string

Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.

routerRef

Required

object

The Cloud Router in which this NAT will be configured.

routerRef.external

Optional

string

A reference to an externally managed ComputeRouter resource. Should be in the format "projects/{{projectID}}/regions/{{region}}/routers/{{routerID}}".

routerRef.name

Optional

string

The name of a ComputeRouter resource.

routerRef.namespace

Optional

string

The namespace of a ComputeRouter resource.

rules

Optional

list (object)

A list of rules associated with this NAT.

rules[]

Optional

object

rules[].action

Optional

object

The action to be enforced for traffic that matches this rule.

rules[].action.sourceNatActiveIpsRefs

Optional

list (object)

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.

rules[].action.sourceNatActiveIpsRefs[]

Optional

object

ComputeAddressRef is a reference to a Google Cloud ComputeAddress.

rules[].action.sourceNatActiveIpsRefs[].external

Optional

string

A reference to an externally managed ComputeAddress resource. Should be in the format "projects/{{projectID}}/global/addresses/{{addressID}}" or "projects/{{projectID}}/regions/{{region}}/addresses/{{addressID}}".

rules[].action.sourceNatActiveIpsRefs[].name

Optional

string

The name of a ComputeAddress resource.

rules[].action.sourceNatActiveIpsRefs[].namespace

Optional

string

The namespace of a ComputeAddress resource.

rules[].action.sourceNatActiveRangesRefs

Optional

list (object)

A list of references to ComputeSubnetwork resources. Rules configured with these rules translate source IPs to the IP ranges of these subnetworks. This field is used for private NAT.

rules[].action.sourceNatActiveRangesRefs[]

Optional

object

ComputeSubnetworkRef is a reference to a Google Cloud ComputeSubnetwork.

rules[].action.sourceNatActiveRangesRefs[].external

Optional

string

A reference to an externally managed ComputeSubnetwork resource. Should be in the format "projects/{{projectID}}/regions/{{region}}/subnetworks/{{subnetworkID}}".

rules[].action.sourceNatActiveRangesRefs[].name

Optional

string

The name of a ComputeSubnetwork resource.

rules[].action.sourceNatActiveRangesRefs[].namespace

Optional

string

The namespace of a ComputeSubnetwork resource.

rules[].action.sourceNatDrainIpsRefs

Optional

list (object)

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.

rules[].action.sourceNatDrainIpsRefs[]

Optional

object

ComputeAddressRef is a reference to a Google Cloud ComputeAddress.

rules[].action.sourceNatDrainIpsRefs[].external

Optional

string

A reference to an externally managed ComputeAddress resource. Should be in the format "projects/{{projectID}}/global/addresses/{{addressID}}" or "projects/{{projectID}}/regions/{{region}}/addresses/{{addressID}}".

rules[].action.sourceNatDrainIpsRefs[].name

Optional

string

The name of a ComputeAddress resource.

rules[].action.sourceNatDrainIpsRefs[].namespace

Optional

string

The namespace of a ComputeAddress resource.