import * as pulumi from "@pulumi/pulumi"; /** * Manage a vrack network for your IP Loadbalancing service. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as ovh from "@ovhcloud/pulumi-ovh"; * * const iplb = ovh.IpLoadBalancing.getIpLoadBalancing({ * serviceName: "loadbalancer-xxxxxxxxxxxxxxxxxx", * }); * const vipLb = new ovh.vrack.IpLoadbalancing("vip_lb", { * serviceName: "xxx", * LoadbalancingId: iplb.then(iplb => iplb.serviceName), * }); * const network = new ovh.iploadbalancing.VrackNetwork("network", { * serviceName: vipLb.LoadbalancingId, * subnet: "10.0.0.0/16", * vlan: 1, * natIp: "10.0.0.0/27", * displayName: "mynetwork", * }); * const testFarm = new ovh.iploadbalancing.TcpFarm("test_farm", { * serviceName: network.serviceName, * displayName: "mytcpbackends", * port: 80, * vrackNetworkId: network.vrackNetworkId, * zone: iplb.then(iplb => iplb.zones?.[0]), * }); * ``` * * ## Import * * An IP Loadbalancing vRack network can be imported using the `service_name` and `vrack_network_id`, separated by "/" E.g., * * bash * * ```sh * $ pulumi import ovh:IpLoadBalancing/vrackNetwork:VrackNetwork network service_name/vrack_network_id * ``` */ export declare class VrackNetwork extends pulumi.CustomResource { /** * Get an existing VrackNetwork 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?: VrackNetworkState, opts?: pulumi.CustomResourceOptions): VrackNetwork; /** * Returns true if the given object is an instance of VrackNetwork. 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 VrackNetwork; /** * Human readable name for your vrack network */ readonly displayName: pulumi.Output; /** * This attribute is there for documentation purpose only and isnt passed to the OVHcloud API as it may conflicts with http/tcp farms `vrackNetworkId` attribute */ readonly farmIds: pulumi.Output; /** * An IP block used as a pool of IPs by this Load Balancer to connect to the servers in this private network. The blck must be in the private network and reserved for the Load Balancer */ readonly natIp: pulumi.Output; /** * The internal name of your IP load balancing */ readonly serviceName: pulumi.Output; /** * IP block of the private network in the vRack */ readonly subnet: pulumi.Output; /** * VLAN of the private network in the vRack. 0 if the private network is not in a VLAN */ readonly vlan: pulumi.Output; /** * (Required) Internal Load Balancer identifier of the vRack private network */ readonly vrackNetworkId: pulumi.Output; /** * Create a VrackNetwork 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: VrackNetworkArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering VrackNetwork resources. */ export interface VrackNetworkState { /** * Human readable name for your vrack network */ displayName?: pulumi.Input; /** * This attribute is there for documentation purpose only and isnt passed to the OVHcloud API as it may conflicts with http/tcp farms `vrackNetworkId` attribute */ farmIds?: pulumi.Input[]>; /** * An IP block used as a pool of IPs by this Load Balancer to connect to the servers in this private network. The blck must be in the private network and reserved for the Load Balancer */ natIp?: pulumi.Input; /** * The internal name of your IP load balancing */ serviceName?: pulumi.Input; /** * IP block of the private network in the vRack */ subnet?: pulumi.Input; /** * VLAN of the private network in the vRack. 0 if the private network is not in a VLAN */ vlan?: pulumi.Input; /** * (Required) Internal Load Balancer identifier of the vRack private network */ vrackNetworkId?: pulumi.Input; } /** * The set of arguments for constructing a VrackNetwork resource. */ export interface VrackNetworkArgs { /** * Human readable name for your vrack network */ displayName?: pulumi.Input; /** * This attribute is there for documentation purpose only and isnt passed to the OVHcloud API as it may conflicts with http/tcp farms `vrackNetworkId` attribute */ farmIds?: pulumi.Input[]>; /** * An IP block used as a pool of IPs by this Load Balancer to connect to the servers in this private network. The blck must be in the private network and reserved for the Load Balancer */ natIp: pulumi.Input; /** * The internal name of your IP load balancing */ serviceName: pulumi.Input; /** * IP block of the private network in the vRack */ subnet: pulumi.Input; /** * VLAN of the private network in the vRack. 0 if the private network is not in a VLAN */ vlan?: pulumi.Input; }