import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * Create and manage a Network Function. * * ## Example * * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as nutanix from "@pierskarsenbarg/nutanix"; * * const nf = new nutanix.NetworkFunctionV2("nf", { * name: "tf-network-function", * description: "Network function managed by Terraform", * highAvailabilityMode: "ACTIVE_PASSIVE", * failureHandling: "NO_ACTION", * trafficForwardingMode: "INLINE", * dataPlaneHealthCheckConfig: { * failureThreshold: 2, * intervalSecs: 5, * successThreshold: 2, * timeoutSecs: 5, * }, * nicPairs: [ * { * ingressNicReference: "00000000-0000-0000-0000-000000000000", * egressNicReference: "11111111-1111-1111-1111-111111111111", * vmReference: "22222222-2222-2222-2222-222222222222", * isEnabled: true, * }, * { * ingressNicReference: "33333333-3333-3333-3333-333333333333", * egressNicReference: "44444444-4444-4444-4444-444444444444", * vmReference: "55555555-5555-5555-5555-555555555555", * isEnabled: true, * }, * ], * }); * ``` * */ export declare class NetworkFunctionV2 extends pulumi.CustomResource { /** * Get an existing NetworkFunctionV2 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, state?: NetworkFunctionV2State, opts?: pulumi.CustomResourceOptions): NetworkFunctionV2; /** * Returns true if the given object is an instance of NetworkFunctionV2. 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 NetworkFunctionV2; /** * Data Plane Health check configuration applied for the network function. */ readonly dataPlaneHealthCheckConfig: pulumi.Output; /** * Description of the network function. */ readonly description: pulumi.Output; /** * globally unique identifier of an instance that is suitable for external consumption. */ readonly extId: pulumi.Output; /** * Failure handling behavior when network function is unhealthy. Values: * * | Value | Description | * | --- | --- | * | `NO_ACTION` | When network function is unhealthy, no action is taken and traffic is black-holed. This value is deprecated. If it continues to be used, it will automatically be converted to FAIL_CLOSE. | * | `FAIL_CLOSE` | When all the network function VM(s) are down, all traffic from sources is blocked to prevent it from bypassing the security. | * | `FAIL_OPEN` | When all the network function VM(s) are down, traffic from sources can be forwarded directly to the destinations, effectively bypassing the network function VM. | */ readonly failureHandling: pulumi.Output; /** * High availability configuration used between virtual NIC pairs. Traffic is only redirected to the ACTIVE NIC pair. Values: * * | Value | Description | * | --- | --- | * | `ACTIVE_PASSIVE` | NIC pair is in ACTIVE_PASSIVE mode. In ACTIVE_PASSIVE mode, one of the NIC pairs will be selected as the ACTIVE network function and all other NIC pairs will be on STANDBY | */ readonly highAvailabilityMode: pulumi.Output; /** * A HATEOAS style link for the response. Each link contains a user-friendly name identifying the link and an address for retrieving the particular resource. */ readonly links: pulumi.Output; /** * Metadata associated with this resource. */ readonly metadatas: pulumi.Output; /** * Name of the network function. */ readonly name: pulumi.Output; /** * List of all NIC pairs part of this network function. Minimum 1 and maximum 2 NIC pairs are allowed. */ readonly nicPairs: pulumi.Output; /** * A globally unique identifier that represents the tenant that owns this entity. */ readonly tenantId: pulumi.Output; /** * Traffic forwarding mode. Values: * * | Value | Description | * | --- | --- | * | `INLINE` | Inline traffic redirection is applied through the network function VM to enable comprehensive inspection and policy enforcement. | * | `VTAP` | Traffic is passively mirrored to the network function VM for out-of-band monitoring, without affecting the original traffic flow. The failureHandling or dataPlaneHealthCheckConfig or egressNicReference inside any of NicPair is not supported along with this mode. API will fail as part of validation if passed with VTAP trafficForwardingMode. | */ readonly trafficForwardingMode: pulumi.Output; /** * Create a NetworkFunctionV2 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: NetworkFunctionV2Args, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering NetworkFunctionV2 resources. */ export interface NetworkFunctionV2State { /** * Data Plane Health check configuration applied for the network function. */ dataPlaneHealthCheckConfig?: pulumi.Input; /** * Description of the network function. */ description?: pulumi.Input; /** * globally unique identifier of an instance that is suitable for external consumption. */ extId?: pulumi.Input; /** * Failure handling behavior when network function is unhealthy. Values: * * | Value | Description | * | --- | --- | * | `NO_ACTION` | When network function is unhealthy, no action is taken and traffic is black-holed. This value is deprecated. If it continues to be used, it will automatically be converted to FAIL_CLOSE. | * | `FAIL_CLOSE` | When all the network function VM(s) are down, all traffic from sources is blocked to prevent it from bypassing the security. | * | `FAIL_OPEN` | When all the network function VM(s) are down, traffic from sources can be forwarded directly to the destinations, effectively bypassing the network function VM. | */ failureHandling?: pulumi.Input; /** * High availability configuration used between virtual NIC pairs. Traffic is only redirected to the ACTIVE NIC pair. Values: * * | Value | Description | * | --- | --- | * | `ACTIVE_PASSIVE` | NIC pair is in ACTIVE_PASSIVE mode. In ACTIVE_PASSIVE mode, one of the NIC pairs will be selected as the ACTIVE network function and all other NIC pairs will be on STANDBY | */ highAvailabilityMode?: pulumi.Input; /** * A HATEOAS style link for the response. Each link contains a user-friendly name identifying the link and an address for retrieving the particular resource. */ links?: pulumi.Input[] | undefined>; /** * Metadata associated with this resource. */ metadatas?: pulumi.Input[] | undefined>; /** * Name of the network function. */ name?: pulumi.Input; /** * List of all NIC pairs part of this network function. Minimum 1 and maximum 2 NIC pairs are allowed. */ nicPairs?: pulumi.Input[] | undefined>; /** * A globally unique identifier that represents the tenant that owns this entity. */ tenantId?: pulumi.Input; /** * Traffic forwarding mode. Values: * * | Value | Description | * | --- | --- | * | `INLINE` | Inline traffic redirection is applied through the network function VM to enable comprehensive inspection and policy enforcement. | * | `VTAP` | Traffic is passively mirrored to the network function VM for out-of-band monitoring, without affecting the original traffic flow. The failureHandling or dataPlaneHealthCheckConfig or egressNicReference inside any of NicPair is not supported along with this mode. API will fail as part of validation if passed with VTAP trafficForwardingMode. | */ trafficForwardingMode?: pulumi.Input; } /** * The set of arguments for constructing a NetworkFunctionV2 resource. */ export interface NetworkFunctionV2Args { /** * Data Plane Health check configuration applied for the network function. */ dataPlaneHealthCheckConfig?: pulumi.Input; /** * Description of the network function. */ description?: pulumi.Input; /** * globally unique identifier of an instance that is suitable for external consumption. */ extId?: pulumi.Input; /** * Failure handling behavior when network function is unhealthy. Values: * * | Value | Description | * | --- | --- | * | `NO_ACTION` | When network function is unhealthy, no action is taken and traffic is black-holed. This value is deprecated. If it continues to be used, it will automatically be converted to FAIL_CLOSE. | * | `FAIL_CLOSE` | When all the network function VM(s) are down, all traffic from sources is blocked to prevent it from bypassing the security. | * | `FAIL_OPEN` | When all the network function VM(s) are down, traffic from sources can be forwarded directly to the destinations, effectively bypassing the network function VM. | */ failureHandling?: pulumi.Input; /** * High availability configuration used between virtual NIC pairs. Traffic is only redirected to the ACTIVE NIC pair. Values: * * | Value | Description | * | --- | --- | * | `ACTIVE_PASSIVE` | NIC pair is in ACTIVE_PASSIVE mode. In ACTIVE_PASSIVE mode, one of the NIC pairs will be selected as the ACTIVE network function and all other NIC pairs will be on STANDBY | */ highAvailabilityMode: pulumi.Input; /** * Metadata associated with this resource. */ metadatas?: pulumi.Input[] | undefined>; /** * Name of the network function. */ name?: pulumi.Input; /** * List of all NIC pairs part of this network function. Minimum 1 and maximum 2 NIC pairs are allowed. */ nicPairs: pulumi.Input[]>; /** * Traffic forwarding mode. Values: * * | Value | Description | * | --- | --- | * | `INLINE` | Inline traffic redirection is applied through the network function VM to enable comprehensive inspection and policy enforcement. | * | `VTAP` | Traffic is passively mirrored to the network function VM for out-of-band monitoring, without affecting the original traffic flow. The failureHandling or dataPlaneHealthCheckConfig or egressNicReference inside any of NicPair is not supported along with this mode. API will fail as part of validation if passed with VTAP trafficForwardingMode. | */ trafficForwardingMode?: pulumi.Input; } //# sourceMappingURL=networkFunctionV2.d.ts.map