import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * Provides Nutanix resource to create Policy Based Routing inside VPCs. * * ## Example Usage * * ### pbr creation with vpc name with any source or destination or protocol with permit action * * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as nutanix from "@pierskarsenbarg/nutanix"; * * const pbr = new nutanix.Pbr("pbr", { * name: "test-policy-1", * priority: 123, * protocolType: "ALL", * action: "PERMIT", * vpcName: "test123", * source: { * addressType: "ALL", * }, * destination: { * addressType: "ALL", * }, * }); * ``` * */ export declare class Pbr extends pulumi.CustomResource { /** * Get an existing Pbr 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?: PbrState, opts?: pulumi.CustomResourceOptions): Pbr; /** * Returns true if the given object is an instance of Pbr. 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 Pbr; /** * Routing policy action. Must be one of {DENY, PERMIT, REROUTE} . */ readonly action: pulumi.Output; /** * The version of the API. */ readonly apiVersion: pulumi.Output; readonly destination: pulumi.Output; /** * Additionally create Policy in reverse direction. Should be used with {TCP, UDP with start and end port ranges and ICMP with icmp code and type}. Supported with 2022.x. */ readonly isBidirectional: pulumi.Output; /** * The routing policies kind metadata. */ readonly metadata: pulumi.Output<{ [key: string]: string; }>; /** * name of policy */ readonly name: pulumi.Output; /** * priority of policy */ readonly priority: pulumi.Output; readonly protocolParameters: pulumi.Output; /** * Protocol type of policy based routing. Must be one of {TCP, UDP, ICMP, PROTOCOL_NUMBER, ALL} . */ readonly protocolType: pulumi.Output; /** * IP addresses of network services. This field is valid only when action is REROUTE. */ readonly serviceIpLists: pulumi.Output; readonly source: pulumi.Output; /** * The reference to a vpc. Should not be used with {vpc_reference_uuid} */ readonly vpcName: pulumi.Output; /** * The reference to a vpc . Should not be used with {vpc_name} . */ readonly vpcReferenceUuid: pulumi.Output; /** * Create a Pbr 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: PbrArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Pbr resources. */ export interface PbrState { /** * Routing policy action. Must be one of {DENY, PERMIT, REROUTE} . */ action?: pulumi.Input; /** * The version of the API. */ apiVersion?: pulumi.Input; destination?: pulumi.Input; /** * Additionally create Policy in reverse direction. Should be used with {TCP, UDP with start and end port ranges and ICMP with icmp code and type}. Supported with 2022.x. */ isBidirectional?: pulumi.Input; /** * The routing policies kind metadata. */ metadata?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * name of policy */ name?: pulumi.Input; /** * priority of policy */ priority?: pulumi.Input; protocolParameters?: pulumi.Input; /** * Protocol type of policy based routing. Must be one of {TCP, UDP, ICMP, PROTOCOL_NUMBER, ALL} . */ protocolType?: pulumi.Input; /** * IP addresses of network services. This field is valid only when action is REROUTE. */ serviceIpLists?: pulumi.Input[] | undefined>; source?: pulumi.Input; /** * The reference to a vpc. Should not be used with {vpc_reference_uuid} */ vpcName?: pulumi.Input; /** * The reference to a vpc . Should not be used with {vpc_name} . */ vpcReferenceUuid?: pulumi.Input; } /** * The set of arguments for constructing a Pbr resource. */ export interface PbrArgs { /** * Routing policy action. Must be one of {DENY, PERMIT, REROUTE} . */ action: pulumi.Input; /** * The version of the API. */ apiVersion?: pulumi.Input; destination: pulumi.Input; /** * Additionally create Policy in reverse direction. Should be used with {TCP, UDP with start and end port ranges and ICMP with icmp code and type}. Supported with 2022.x. */ isBidirectional?: pulumi.Input; /** * name of policy */ name?: pulumi.Input; /** * priority of policy */ priority: pulumi.Input; protocolParameters?: pulumi.Input; /** * Protocol type of policy based routing. Must be one of {TCP, UDP, ICMP, PROTOCOL_NUMBER, ALL} . */ protocolType: pulumi.Input; /** * IP addresses of network services. This field is valid only when action is REROUTE. */ serviceIpLists?: pulumi.Input[] | undefined>; source: pulumi.Input; /** * The reference to a vpc. Should not be used with {vpc_reference_uuid} */ vpcName?: pulumi.Input; /** * The reference to a vpc . Should not be used with {vpc_name} . */ vpcReferenceUuid?: pulumi.Input; } //# sourceMappingURL=pbr.d.ts.map