1. Packages
  2. Oracle Cloud Infrastructure
  3. API Docs
  4. Core
  5. getNatGateways
Oracle Cloud Infrastructure v2.29.0 published on Wednesday, Apr 9, 2025 by Pulumi

oci.Core.getNatGateways

Explore with Pulumi AI

Oracle Cloud Infrastructure v2.29.0 published on Wednesday, Apr 9, 2025 by Pulumi

This data source provides the list of Nat Gateways in Oracle Cloud Infrastructure Core service.

Lists the NAT gateways in the specified compartment. You may optionally specify a VCN OCID to filter the results by VCN.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as oci from "@pulumi/oci";

const testNatGateways = oci.Core.getNatGateways({
    compartmentId: compartmentId,
    displayName: natGatewayDisplayName,
    state: natGatewayState,
    vcnId: testVcn.id,
});
Copy
import pulumi
import pulumi_oci as oci

test_nat_gateways = oci.Core.get_nat_gateways(compartment_id=compartment_id,
    display_name=nat_gateway_display_name,
    state=nat_gateway_state,
    vcn_id=test_vcn["id"])
Copy
package main

import (
	"github.com/pulumi/pulumi-oci/sdk/v2/go/oci/core"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := core.GetNatGateways(ctx, &core.GetNatGatewaysArgs{
			CompartmentId: compartmentId,
			DisplayName:   pulumi.StringRef(natGatewayDisplayName),
			State:         pulumi.StringRef(natGatewayState),
			VcnId:         pulumi.StringRef(testVcn.Id),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Oci = Pulumi.Oci;

return await Deployment.RunAsync(() => 
{
    var testNatGateways = Oci.Core.GetNatGateways.Invoke(new()
    {
        CompartmentId = compartmentId,
        DisplayName = natGatewayDisplayName,
        State = natGatewayState,
        VcnId = testVcn.Id,
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.oci.Core.CoreFunctions;
import com.pulumi.oci.Core.inputs.GetNatGatewaysArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        final var testNatGateways = CoreFunctions.getNatGateways(GetNatGatewaysArgs.builder()
            .compartmentId(compartmentId)
            .displayName(natGatewayDisplayName)
            .state(natGatewayState)
            .vcnId(testVcn.id())
            .build());

    }
}
Copy
variables:
  testNatGateways:
    fn::invoke:
      function: oci:Core:getNatGateways
      arguments:
        compartmentId: ${compartmentId}
        displayName: ${natGatewayDisplayName}
        state: ${natGatewayState}
        vcnId: ${testVcn.id}
Copy

Using getNatGateways

Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.

function getNatGateways(args: GetNatGatewaysArgs, opts?: InvokeOptions): Promise<GetNatGatewaysResult>
function getNatGatewaysOutput(args: GetNatGatewaysOutputArgs, opts?: InvokeOptions): Output<GetNatGatewaysResult>
Copy
def get_nat_gateways(compartment_id: Optional[str] = None,
                     display_name: Optional[str] = None,
                     filters: Optional[Sequence[_core.GetNatGatewaysFilter]] = None,
                     state: Optional[str] = None,
                     vcn_id: Optional[str] = None,
                     opts: Optional[InvokeOptions] = None) -> GetNatGatewaysResult
def get_nat_gateways_output(compartment_id: Optional[pulumi.Input[str]] = None,
                     display_name: Optional[pulumi.Input[str]] = None,
                     filters: Optional[pulumi.Input[Sequence[pulumi.Input[_core.GetNatGatewaysFilterArgs]]]] = None,
                     state: Optional[pulumi.Input[str]] = None,
                     vcn_id: Optional[pulumi.Input[str]] = None,
                     opts: Optional[InvokeOptions] = None) -> Output[GetNatGatewaysResult]
Copy
func GetNatGateways(ctx *Context, args *GetNatGatewaysArgs, opts ...InvokeOption) (*GetNatGatewaysResult, error)
func GetNatGatewaysOutput(ctx *Context, args *GetNatGatewaysOutputArgs, opts ...InvokeOption) GetNatGatewaysResultOutput
Copy

> Note: This function is named GetNatGateways in the Go SDK.

public static class GetNatGateways 
{
    public static Task<GetNatGatewaysResult> InvokeAsync(GetNatGatewaysArgs args, InvokeOptions? opts = null)
    public static Output<GetNatGatewaysResult> Invoke(GetNatGatewaysInvokeArgs args, InvokeOptions? opts = null)
}
Copy
public static CompletableFuture<GetNatGatewaysResult> getNatGateways(GetNatGatewaysArgs args, InvokeOptions options)
public static Output<GetNatGatewaysResult> getNatGateways(GetNatGatewaysArgs args, InvokeOptions options)
Copy
fn::invoke:
  function: oci:Core/getNatGateways:getNatGateways
  arguments:
    # arguments dictionary
Copy

The following arguments are supported:

CompartmentId This property is required. string
The OCID of the compartment.
DisplayName string
A filter to return only resources that match the given display name exactly.
Filters Changes to this property will trigger replacement. List<GetNatGatewaysFilter>
State string
A filter to return only resources that match the specified lifecycle state. The value is case insensitive.
VcnId string
The OCID of the VCN.
CompartmentId This property is required. string
The OCID of the compartment.
DisplayName string
A filter to return only resources that match the given display name exactly.
Filters Changes to this property will trigger replacement. []GetNatGatewaysFilter
State string
A filter to return only resources that match the specified lifecycle state. The value is case insensitive.
VcnId string
The OCID of the VCN.
compartmentId This property is required. String
The OCID of the compartment.
displayName String
A filter to return only resources that match the given display name exactly.
filters Changes to this property will trigger replacement. List<GetNatGatewaysFilter>
state String
A filter to return only resources that match the specified lifecycle state. The value is case insensitive.
vcnId String
The OCID of the VCN.
compartmentId This property is required. string
The OCID of the compartment.
displayName string
A filter to return only resources that match the given display name exactly.
filters Changes to this property will trigger replacement. GetNatGatewaysFilter[]
state string
A filter to return only resources that match the specified lifecycle state. The value is case insensitive.
vcnId string
The OCID of the VCN.
compartment_id This property is required. str
The OCID of the compartment.
display_name str
A filter to return only resources that match the given display name exactly.
filters Changes to this property will trigger replacement. Sequence[core.GetNatGatewaysFilter]
state str
A filter to return only resources that match the specified lifecycle state. The value is case insensitive.
vcn_id str
The OCID of the VCN.
compartmentId This property is required. String
The OCID of the compartment.
displayName String
A filter to return only resources that match the given display name exactly.
filters Changes to this property will trigger replacement. List<Property Map>
state String
A filter to return only resources that match the specified lifecycle state. The value is case insensitive.
vcnId String
The OCID of the VCN.

getNatGateways Result

The following output properties are available:

CompartmentId string
The OCID of the compartment that contains the NAT gateway.
Id string
The provider-assigned unique ID for this managed resource.
NatGateways List<GetNatGatewaysNatGateway>
The list of nat_gateways.
DisplayName string
A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
Filters List<GetNatGatewaysFilter>
State string
The NAT gateway's current state.
VcnId string
The OCID of the VCN the NAT gateway belongs to.
CompartmentId string
The OCID of the compartment that contains the NAT gateway.
Id string
The provider-assigned unique ID for this managed resource.
NatGateways []GetNatGatewaysNatGateway
The list of nat_gateways.
DisplayName string
A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
Filters []GetNatGatewaysFilter
State string
The NAT gateway's current state.
VcnId string
The OCID of the VCN the NAT gateway belongs to.
compartmentId String
The OCID of the compartment that contains the NAT gateway.
id String
The provider-assigned unique ID for this managed resource.
natGateways List<GetNatGatewaysNatGateway>
The list of nat_gateways.
displayName String
A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
filters List<GetNatGatewaysFilter>
state String
The NAT gateway's current state.
vcnId String
The OCID of the VCN the NAT gateway belongs to.
compartmentId string
The OCID of the compartment that contains the NAT gateway.
id string
The provider-assigned unique ID for this managed resource.
natGateways GetNatGatewaysNatGateway[]
The list of nat_gateways.
displayName string
A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
filters GetNatGatewaysFilter[]
state string
The NAT gateway's current state.
vcnId string
The OCID of the VCN the NAT gateway belongs to.
compartment_id str
The OCID of the compartment that contains the NAT gateway.
id str
The provider-assigned unique ID for this managed resource.
nat_gateways Sequence[core.GetNatGatewaysNatGateway]
The list of nat_gateways.
display_name str
A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
filters Sequence[core.GetNatGatewaysFilter]
state str
The NAT gateway's current state.
vcn_id str
The OCID of the VCN the NAT gateway belongs to.
compartmentId String
The OCID of the compartment that contains the NAT gateway.
id String
The provider-assigned unique ID for this managed resource.
natGateways List<Property Map>
The list of nat_gateways.
displayName String
A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
filters List<Property Map>
state String
The NAT gateway's current state.
vcnId String
The OCID of the VCN the NAT gateway belongs to.

Supporting Types

GetNatGatewaysFilter

Name This property is required. string
Values This property is required. List<string>
Regex bool
Name This property is required. string
Values This property is required. []string
Regex bool
name This property is required. String
values This property is required. List<String>
regex Boolean
name This property is required. string
values This property is required. string[]
regex boolean
name This property is required. str
values This property is required. Sequence[str]
regex bool
name This property is required. String
values This property is required. List<String>
regex Boolean

GetNatGatewaysNatGateway

BlockTraffic This property is required. bool
Whether the NAT gateway blocks traffic through it. The default is false. Example: true
CompartmentId This property is required. string
The OCID of the compartment.
DefinedTags This property is required. Dictionary<string, string>
Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
DisplayName This property is required. string
A filter to return only resources that match the given display name exactly.
FreeformTags This property is required. Dictionary<string, string>
Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
Id This property is required. string
The OCID of the NAT gateway.
NatIp This property is required. string
The IP address associated with the NAT gateway.
PublicIpId This property is required. string
The OCID of the public IP address associated with the NAT gateway.
RouteTableId This property is required. string
The OCID of the route table used by the NAT gateway.
State This property is required. string
A filter to return only resources that match the specified lifecycle state. The value is case insensitive.
TimeCreated This property is required. string
The date and time the NAT gateway was created, in the format defined by RFC3339. Example: 2016-08-25T21:10:29.600Z
VcnId This property is required. string
The OCID of the VCN.
BlockTraffic This property is required. bool
Whether the NAT gateway blocks traffic through it. The default is false. Example: true
CompartmentId This property is required. string
The OCID of the compartment.
DefinedTags This property is required. map[string]string
Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
DisplayName This property is required. string
A filter to return only resources that match the given display name exactly.
FreeformTags This property is required. map[string]string
Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
Id This property is required. string
The OCID of the NAT gateway.
NatIp This property is required. string
The IP address associated with the NAT gateway.
PublicIpId This property is required. string
The OCID of the public IP address associated with the NAT gateway.
RouteTableId This property is required. string
The OCID of the route table used by the NAT gateway.
State This property is required. string
A filter to return only resources that match the specified lifecycle state. The value is case insensitive.
TimeCreated This property is required. string
The date and time the NAT gateway was created, in the format defined by RFC3339. Example: 2016-08-25T21:10:29.600Z
VcnId This property is required. string
The OCID of the VCN.
blockTraffic This property is required. Boolean
Whether the NAT gateway blocks traffic through it. The default is false. Example: true
compartmentId This property is required. String
The OCID of the compartment.
definedTags This property is required. Map<String,String>
Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
displayName This property is required. String
A filter to return only resources that match the given display name exactly.
freeformTags This property is required. Map<String,String>
Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
id This property is required. String
The OCID of the NAT gateway.
natIp This property is required. String
The IP address associated with the NAT gateway.
publicIpId This property is required. String
The OCID of the public IP address associated with the NAT gateway.
routeTableId This property is required. String
The OCID of the route table used by the NAT gateway.
state This property is required. String
A filter to return only resources that match the specified lifecycle state. The value is case insensitive.
timeCreated This property is required. String
The date and time the NAT gateway was created, in the format defined by RFC3339. Example: 2016-08-25T21:10:29.600Z
vcnId This property is required. String
The OCID of the VCN.
blockTraffic This property is required. boolean
Whether the NAT gateway blocks traffic through it. The default is false. Example: true
compartmentId This property is required. string
The OCID of the compartment.
definedTags This property is required. {[key: string]: string}
Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
displayName This property is required. string
A filter to return only resources that match the given display name exactly.
freeformTags This property is required. {[key: string]: string}
Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
id This property is required. string
The OCID of the NAT gateway.
natIp This property is required. string
The IP address associated with the NAT gateway.
publicIpId This property is required. string
The OCID of the public IP address associated with the NAT gateway.
routeTableId This property is required. string
The OCID of the route table used by the NAT gateway.
state This property is required. string
A filter to return only resources that match the specified lifecycle state. The value is case insensitive.
timeCreated This property is required. string
The date and time the NAT gateway was created, in the format defined by RFC3339. Example: 2016-08-25T21:10:29.600Z
vcnId This property is required. string
The OCID of the VCN.
block_traffic This property is required. bool
Whether the NAT gateway blocks traffic through it. The default is false. Example: true
compartment_id This property is required. str
The OCID of the compartment.
defined_tags This property is required. Mapping[str, str]
Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
display_name This property is required. str
A filter to return only resources that match the given display name exactly.
freeform_tags This property is required. Mapping[str, str]
Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
id This property is required. str
The OCID of the NAT gateway.
nat_ip This property is required. str
The IP address associated with the NAT gateway.
public_ip_id This property is required. str
The OCID of the public IP address associated with the NAT gateway.
route_table_id This property is required. str
The OCID of the route table used by the NAT gateway.
state This property is required. str
A filter to return only resources that match the specified lifecycle state. The value is case insensitive.
time_created This property is required. str
The date and time the NAT gateway was created, in the format defined by RFC3339. Example: 2016-08-25T21:10:29.600Z
vcn_id This property is required. str
The OCID of the VCN.
blockTraffic This property is required. Boolean
Whether the NAT gateway blocks traffic through it. The default is false. Example: true
compartmentId This property is required. String
The OCID of the compartment.
definedTags This property is required. Map<String>
Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
displayName This property is required. String
A filter to return only resources that match the given display name exactly.
freeformTags This property is required. Map<String>
Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
id This property is required. String
The OCID of the NAT gateway.
natIp This property is required. String
The IP address associated with the NAT gateway.
publicIpId This property is required. String
The OCID of the public IP address associated with the NAT gateway.
routeTableId This property is required. String
The OCID of the route table used by the NAT gateway.
state This property is required. String
A filter to return only resources that match the specified lifecycle state. The value is case insensitive.
timeCreated This property is required. String
The date and time the NAT gateway was created, in the format defined by RFC3339. Example: 2016-08-25T21:10:29.600Z
vcnId This property is required. String
The OCID of the VCN.

Package Details

Repository
oci pulumi/pulumi-oci
License
Apache-2.0
Notes
This Pulumi package is based on the oci Terraform Provider.
Oracle Cloud Infrastructure v2.29.0 published on Wednesday, Apr 9, 2025 by Pulumi