GoogleComputeRouterNat constructor

GoogleComputeRouterNat({
  1. required String localName,
  2. required TfArg<String> name,
  3. required TfArg<String> router,
  4. TfArg<String>? region,
  5. required TfArg<ComputeRouterNatSourceSubnetworkIpRangesToNat> sourceSubnetworkIpRangesToNat,
  6. TfArg<ComputeRouterNatNatIpAllocateOption>? natIpAllocateOption,
  7. TfArg<ComputeRouterNatType>? type,
  8. TfArg<List<String>>? natIps,
  9. TfArg<List<String>>? initialNatIps,
  10. TfArg<List<String>>? drainNatIps,
  11. TfArg<num>? minPortsPerVm,
  12. TfArg<num>? maxPortsPerVm,
  13. TfArg<bool>? enableDynamicPortAllocation,
  14. TfArg<bool>? enableEndpointIndependentMapping,
  15. TfArg<num>? icmpIdleTimeoutSec,
  16. TfArg<num>? tcpEstablishedIdleTimeoutSec,
  17. TfArg<num>? tcpTransitoryIdleTimeoutSec,
  18. TfArg<num>? tcpTimeWaitTimeoutSec,
  19. TfArg<num>? udpIdleTimeoutSec,
  20. TfArg<ComputeRouterNatAutoNetworkTier>? autoNetworkTier,
  21. TfArg<List<String>>? endpointTypes,
  22. TfArg<ComputeRouterNatSourceSubnetworkIpRangesToNat64>? sourceSubnetworkIpRangesToNat64,
  23. TfArg<String>? deletionPolicy,
  24. TfArg<String>? project,
  25. LifecycleOptions? lifecycle,
  26. List<DependencyTarget>? dependsOn,
})

Implementation

GoogleComputeRouterNat({
  required super.localName,
  required TfArg<String> name,
  required TfArg<String> router,
  TfArg<String>? region,
  required TfArg<ComputeRouterNatSourceSubnetworkIpRangesToNat>
  sourceSubnetworkIpRangesToNat,
  TfArg<ComputeRouterNatNatIpAllocateOption>? natIpAllocateOption,
  TfArg<ComputeRouterNatType>? type,
  TfArg<List<String>>? natIps,
  TfArg<List<String>>? initialNatIps,
  TfArg<List<String>>? drainNatIps,
  TfArg<num>? minPortsPerVm,
  TfArg<num>? maxPortsPerVm,
  TfArg<bool>? enableDynamicPortAllocation,
  TfArg<bool>? enableEndpointIndependentMapping,
  TfArg<num>? icmpIdleTimeoutSec,
  TfArg<num>? tcpEstablishedIdleTimeoutSec,
  TfArg<num>? tcpTransitoryIdleTimeoutSec,
  TfArg<num>? tcpTimeWaitTimeoutSec,
  TfArg<num>? udpIdleTimeoutSec,
  TfArg<ComputeRouterNatAutoNetworkTier>? autoNetworkTier,
  TfArg<List<String>>? endpointTypes,
  TfArg<ComputeRouterNatSourceSubnetworkIpRangesToNat64>?
  sourceSubnetworkIpRangesToNat64,
  TfArg<String>? deletionPolicy,
  TfArg<String>? project,
  super.lifecycle,
  super.dependsOn,
}) : super(
       terraformType: tfType,
       argMap: {
         'name': name,
         'router': router,
         if (region != null) 'region': region,
         'source_subnetwork_ip_ranges_to_nat': sourceSubnetworkIpRangesToNat,
         if (natIpAllocateOption != null)
           'nat_ip_allocate_option': natIpAllocateOption,
         if (type != null) 'type': type,
         if (natIps != null) 'nat_ips': natIps,
         if (initialNatIps != null) 'initial_nat_ips': initialNatIps,
         if (drainNatIps != null) 'drain_nat_ips': drainNatIps,
         if (minPortsPerVm != null) 'min_ports_per_vm': minPortsPerVm,
         if (maxPortsPerVm != null) 'max_ports_per_vm': maxPortsPerVm,
         if (enableDynamicPortAllocation != null)
           'enable_dynamic_port_allocation': enableDynamicPortAllocation,
         if (enableEndpointIndependentMapping != null)
           'enable_endpoint_independent_mapping':
               enableEndpointIndependentMapping,
         if (icmpIdleTimeoutSec != null)
           'icmp_idle_timeout_sec': icmpIdleTimeoutSec,
         if (tcpEstablishedIdleTimeoutSec != null)
           'tcp_established_idle_timeout_sec': tcpEstablishedIdleTimeoutSec,
         if (tcpTransitoryIdleTimeoutSec != null)
           'tcp_transitory_idle_timeout_sec': tcpTransitoryIdleTimeoutSec,
         if (tcpTimeWaitTimeoutSec != null)
           'tcp_time_wait_timeout_sec': tcpTimeWaitTimeoutSec,
         if (udpIdleTimeoutSec != null)
           'udp_idle_timeout_sec': udpIdleTimeoutSec,
         if (autoNetworkTier != null) 'auto_network_tier': autoNetworkTier,
         if (endpointTypes != null) 'endpoint_types': endpointTypes,
         if (sourceSubnetworkIpRangesToNat64 != null)
           'source_subnetwork_ip_ranges_to_nat64':
               sourceSubnetworkIpRangesToNat64,
         if (deletionPolicy != null) 'deletion_policy': deletionPolicy,
         if (project != null) 'project': project,
       },
     );