import * as pulumi from "@pulumi/pulumi";
/**
 * This resource provides the Resolver Endpoint resource in Oracle Cloud Infrastructure DNS service.
 * Api doc link for the resource: https://docs.oracle.com/iaas/api/#/en/dns/latest/ResolverEndpoint
 *
 * Example terraform configs related to the resource : https://github.com/oracle/terraform-provider-oci/tree/master/examples/dns
 *
 * Creates a new resolver endpoint in the same compartment as the resolver.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testResolverEndpoint = new oci.dns.ResolverEndpoint("test_resolver_endpoint", {
 *     isForwarding: resolverEndpointIsForwarding === "true",
 *     isListening: resolverEndpointIsListening === "true",
 *     name: resolverEndpointName,
 *     resolverId: testResolver.id,
 *     subnetId: testSubnet.id,
 *     scope: "PRIVATE",
 *     endpointType: resolverEndpointEndpointType,
 *     forwardingAddress: resolverEndpointForwardingAddress,
 *     listeningAddress: resolverEndpointListeningAddress,
 *     nsgIds: resolverEndpointNsgIds,
 * });
 * ```
 *
 * ## Import
 *
 * For ResolverEndpoints created using `scope`, these ResolverEndpoints can be imported using the `id`, e.g.
 *
 * ```sh
 * $ pulumi import oci:Dns/resolverEndpoint:ResolverEndpoint test_resolver_endpoint "resolverId/{resolverId}/name/{name}/scope/{scope}"
 * ```
 */
export declare class ResolverEndpoint extends pulumi.CustomResource {
    /**
     * Get an existing ResolverEndpoint resource's state with the given name, ID, and optional extra
     * properties used to qualify the lookup.
     *
     * @param name The _unique_ name of the resulting resource.
     * @param id The _unique_ provider ID of the resource to lookup.
     * @param state Any extra arguments used during the lookup.
     * @param opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ResolverEndpointState, opts?: pulumi.CustomResourceOptions): ResolverEndpoint;
    /**
     * Returns true if the given object is an instance of ResolverEndpoint.  This is designed to work even
     * when multiple copies of the Pulumi SDK have been loaded into the same process.
     */
    static isInstance(obj: any): obj is ResolverEndpoint;
    /**
     * The OCID of the owning compartment. This will match the resolver that the resolver endpoint is under and will be updated if the resolver's compartment is changed.
     */
    readonly compartmentId: pulumi.Output<string>;
    /**
     * (Updatable) The type of resolver endpoint. VNIC is currently the only supported type.
     */
    readonly endpointType: pulumi.Output<string>;
    /**
     * An IP address from which forwarded queries may be sent. For VNIC endpoints, this IP address must be part of the subnet and will be assigned by the system if unspecified when isForwarding is true.
     */
    readonly forwardingAddress: pulumi.Output<string>;
    /**
     * A Boolean flag indicating whether or not the resolver endpoint is for forwarding.
     */
    readonly isForwarding: pulumi.Output<boolean>;
    /**
     * A Boolean flag indicating whether or not the resolver endpoint is for listening.
     */
    readonly isListening: pulumi.Output<boolean>;
    /**
     * An IP address to listen to queries on. For VNIC endpoints this IP address must be part of the subnet and will be assigned by the system if unspecified when isListening is true.
     */
    readonly listeningAddress: pulumi.Output<string>;
    /**
     * The name of the resolver endpoint. Must be unique, case-insensitive, within the resolver.
     */
    readonly name: pulumi.Output<string>;
    /**
     * An array of network security group OCIDs for the resolver endpoint. These must be part of the VCN that the resolver endpoint is a part of.
     */
    readonly nsgIds: pulumi.Output<string[] | undefined>;
    /**
     * The OCID of the target resolver.
     */
    readonly resolverId: pulumi.Output<string>;
    /**
     * Value must be `PRIVATE` when creating private name resolver endpoints.
     */
    readonly scope: pulumi.Output<string | undefined>;
    /**
     * The canonical absolute URL of the resource.
     */
    readonly self: pulumi.Output<string>;
    /**
     * The current state of the resource.
     */
    readonly state: pulumi.Output<string>;
    /**
     * The OCID of a subnet. Must be part of the VCN that the resolver is attached to.
     *
     *
     * ** IMPORTANT **
     * Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values
     */
    readonly subnetId: pulumi.Output<string>;
    /**
     * The date and time the resource was created in "YYYY-MM-ddThh:mm:ssZ" format with a Z offset, as defined by RFC 3339.
     */
    readonly timeCreated: pulumi.Output<string>;
    /**
     * The date and time the resource was last updated in "YYYY-MM-ddThh:mm:ssZ" format with a Z offset, as defined by RFC 3339.
     */
    readonly timeUpdated: pulumi.Output<string>;
    /**
     * Create a ResolverEndpoint resource with the given unique name, arguments, and options.
     *
     * @param name The _unique_ name of the resource.
     * @param args The arguments to use to populate this resource's properties.
     * @param opts A bag of options that control this resource's behavior.
     */
    constructor(name: string, args: ResolverEndpointArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering ResolverEndpoint resources.
 */
export interface ResolverEndpointState {
    /**
     * The OCID of the owning compartment. This will match the resolver that the resolver endpoint is under and will be updated if the resolver's compartment is changed.
     */
    compartmentId?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) The type of resolver endpoint. VNIC is currently the only supported type.
     */
    endpointType?: pulumi.Input<string | undefined>;
    /**
     * An IP address from which forwarded queries may be sent. For VNIC endpoints, this IP address must be part of the subnet and will be assigned by the system if unspecified when isForwarding is true.
     */
    forwardingAddress?: pulumi.Input<string | undefined>;
    /**
     * A Boolean flag indicating whether or not the resolver endpoint is for forwarding.
     */
    isForwarding?: pulumi.Input<boolean | undefined>;
    /**
     * A Boolean flag indicating whether or not the resolver endpoint is for listening.
     */
    isListening?: pulumi.Input<boolean | undefined>;
    /**
     * An IP address to listen to queries on. For VNIC endpoints this IP address must be part of the subnet and will be assigned by the system if unspecified when isListening is true.
     */
    listeningAddress?: pulumi.Input<string | undefined>;
    /**
     * The name of the resolver endpoint. Must be unique, case-insensitive, within the resolver.
     */
    name?: pulumi.Input<string | undefined>;
    /**
     * An array of network security group OCIDs for the resolver endpoint. These must be part of the VCN that the resolver endpoint is a part of.
     */
    nsgIds?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * The OCID of the target resolver.
     */
    resolverId?: pulumi.Input<string | undefined>;
    /**
     * Value must be `PRIVATE` when creating private name resolver endpoints.
     */
    scope?: pulumi.Input<string | undefined>;
    /**
     * The canonical absolute URL of the resource.
     */
    self?: pulumi.Input<string | undefined>;
    /**
     * The current state of the resource.
     */
    state?: pulumi.Input<string | undefined>;
    /**
     * The OCID of a subnet. Must be part of the VCN that the resolver is attached to.
     *
     *
     * ** IMPORTANT **
     * Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values
     */
    subnetId?: pulumi.Input<string | undefined>;
    /**
     * The date and time the resource was created in "YYYY-MM-ddThh:mm:ssZ" format with a Z offset, as defined by RFC 3339.
     */
    timeCreated?: pulumi.Input<string | undefined>;
    /**
     * The date and time the resource was last updated in "YYYY-MM-ddThh:mm:ssZ" format with a Z offset, as defined by RFC 3339.
     */
    timeUpdated?: pulumi.Input<string | undefined>;
}
/**
 * The set of arguments for constructing a ResolverEndpoint resource.
 */
export interface ResolverEndpointArgs {
    /**
     * (Updatable) The type of resolver endpoint. VNIC is currently the only supported type.
     */
    endpointType?: pulumi.Input<string | undefined>;
    /**
     * An IP address from which forwarded queries may be sent. For VNIC endpoints, this IP address must be part of the subnet and will be assigned by the system if unspecified when isForwarding is true.
     */
    forwardingAddress?: pulumi.Input<string | undefined>;
    /**
     * A Boolean flag indicating whether or not the resolver endpoint is for forwarding.
     */
    isForwarding: pulumi.Input<boolean>;
    /**
     * A Boolean flag indicating whether or not the resolver endpoint is for listening.
     */
    isListening: pulumi.Input<boolean>;
    /**
     * An IP address to listen to queries on. For VNIC endpoints this IP address must be part of the subnet and will be assigned by the system if unspecified when isListening is true.
     */
    listeningAddress?: pulumi.Input<string | undefined>;
    /**
     * The name of the resolver endpoint. Must be unique, case-insensitive, within the resolver.
     */
    name?: pulumi.Input<string | undefined>;
    /**
     * An array of network security group OCIDs for the resolver endpoint. These must be part of the VCN that the resolver endpoint is a part of.
     */
    nsgIds?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * The OCID of the target resolver.
     */
    resolverId: pulumi.Input<string>;
    /**
     * Value must be `PRIVATE` when creating private name resolver endpoints.
     */
    scope?: pulumi.Input<string | undefined>;
    /**
     * The OCID of a subnet. Must be part of the VCN that the resolver is attached to.
     *
     *
     * ** IMPORTANT **
     * Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values
     */
    subnetId: pulumi.Input<string>;
}
//# sourceMappingURL=resolverEndpoint.d.ts.map