1. Packages
  2. OVH
  3. API Docs
  4. IpLoadBalancing
  5. HttpRoute
OVHCloud v2.1.1 published on Thursday, Apr 10, 2025 by OVHcloud

ovh.IpLoadBalancing.HttpRoute

Explore with Pulumi AI

Manage HTTP route for a loadbalancer service

Example Usage

Route which redirect all url to https.

import * as pulumi from "@pulumi/pulumi";
import * as ovh from "@ovhcloud/pulumi-ovh";

const httpsRedirect = new ovh.iploadbalancing.HttpRoute("httpsRedirect", {
    action: {
        status: 302,
        target: "https://${host}${path}${arguments}",
        type: "redirect",
    },
    displayName: "Redirect to HTTPS",
    serviceName: "loadbalancer-xxxxxxxxxxxxxxxxxx",
    weight: 1,
});
Copy
import pulumi
import pulumi_ovh as ovh

https_redirect = ovh.ip_load_balancing.HttpRoute("httpsRedirect",
    action={
        "status": 302,
        "target": "https://${host}${path}${arguments}",
        "type": "redirect",
    },
    display_name="Redirect to HTTPS",
    service_name="loadbalancer-xxxxxxxxxxxxxxxxxx",
    weight=1)
Copy
package main

import (
	"github.com/ovh/pulumi-ovh/sdk/v2/go/ovh/iploadbalancing"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := iploadbalancing.NewHttpRoute(ctx, "httpsRedirect", &iploadbalancing.HttpRouteArgs{
			Action: &iploadbalancing.HttpRouteActionArgs{
				Status: pulumi.Int(302),
				Target: pulumi.String("https://${host}${path}${arguments}"),
				Type:   pulumi.String("redirect"),
			},
			DisplayName: pulumi.String("Redirect to HTTPS"),
			ServiceName: pulumi.String("loadbalancer-xxxxxxxxxxxxxxxxxx"),
			Weight:      pulumi.Int(1),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Ovh = Pulumi.Ovh;

return await Deployment.RunAsync(() => 
{
    var httpsRedirect = new Ovh.IpLoadBalancing.HttpRoute("httpsRedirect", new()
    {
        Action = new Ovh.IpLoadBalancing.Inputs.HttpRouteActionArgs
        {
            Status = 302,
            Target = "https://${host}${path}${arguments}",
            Type = "redirect",
        },
        DisplayName = "Redirect to HTTPS",
        ServiceName = "loadbalancer-xxxxxxxxxxxxxxxxxx",
        Weight = 1,
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.ovhcloud.pulumi.ovh.IpLoadBalancing.HttpRoute;
import com.ovhcloud.pulumi.ovh.IpLoadBalancing.HttpRouteArgs;
import com.pulumi.ovh.IpLoadBalancing.inputs.HttpRouteActionArgs;
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) {
        var httpsRedirect = new HttpRoute("httpsRedirect", HttpRouteArgs.builder()
            .action(HttpRouteActionArgs.builder()
                .status(302)
                .target("https://${host}${path}${arguments}")
                .type("redirect")
                .build())
            .displayName("Redirect to HTTPS")
            .serviceName("loadbalancer-xxxxxxxxxxxxxxxxxx")
            .weight(1)
            .build());

    }
}
Copy
resources:
  httpsRedirect:
    type: ovh:IpLoadBalancing:HttpRoute
    properties:
      action:
        status: 302
        target: https://$${host}$${path}$${arguments}
        type: redirect
      displayName: Redirect to HTTPS
      serviceName: loadbalancer-xxxxxxxxxxxxxxxxxx
      weight: 1
Copy

Create HttpRoute Resource

Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

Constructor syntax

new HttpRoute(name: string, args: HttpRouteArgs, opts?: CustomResourceOptions);
@overload
def HttpRoute(resource_name: str,
              args: HttpRouteArgs,
              opts: Optional[ResourceOptions] = None)

@overload
def HttpRoute(resource_name: str,
              opts: Optional[ResourceOptions] = None,
              action: Optional[_iploadbalancing.HttpRouteActionArgs] = None,
              service_name: Optional[str] = None,
              display_name: Optional[str] = None,
              frontend_id: Optional[int] = None,
              weight: Optional[int] = None)
func NewHttpRoute(ctx *Context, name string, args HttpRouteArgs, opts ...ResourceOption) (*HttpRoute, error)
public HttpRoute(string name, HttpRouteArgs args, CustomResourceOptions? opts = null)
public HttpRoute(String name, HttpRouteArgs args)
public HttpRoute(String name, HttpRouteArgs args, CustomResourceOptions options)
type: ovh:IpLoadBalancing:HttpRoute
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. string
The unique name of the resource.
args This property is required. HttpRouteArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. HttpRouteArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name This property is required. string
The unique name of the resource.
args This property is required. HttpRouteArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. HttpRouteArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. HttpRouteArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

Constructor example

The following reference example uses placeholder values for all input properties.

var httpRouteResource = new Ovh.IpLoadBalancing.HttpRoute("httpRouteResource", new()
{
    Action = new Ovh.IpLoadBalancing.Inputs.HttpRouteActionArgs
    {
        Type = "string",
        Status = 0,
        Target = "string",
    },
    ServiceName = "string",
    DisplayName = "string",
    FrontendId = 0,
    Weight = 0,
});
Copy
example, err := IpLoadBalancing.NewHttpRoute(ctx, "httpRouteResource", &IpLoadBalancing.HttpRouteArgs{
	Action: &iploadbalancing.HttpRouteActionArgs{
		Type:   pulumi.String("string"),
		Status: pulumi.Int(0),
		Target: pulumi.String("string"),
	},
	ServiceName: pulumi.String("string"),
	DisplayName: pulumi.String("string"),
	FrontendId:  pulumi.Int(0),
	Weight:      pulumi.Int(0),
})
Copy
var httpRouteResource = new HttpRoute("httpRouteResource", HttpRouteArgs.builder()
    .action(HttpRouteActionArgs.builder()
        .type("string")
        .status(0)
        .target("string")
        .build())
    .serviceName("string")
    .displayName("string")
    .frontendId(0)
    .weight(0)
    .build());
Copy
http_route_resource = ovh.ip_load_balancing.HttpRoute("httpRouteResource",
    action={
        "type": "string",
        "status": 0,
        "target": "string",
    },
    service_name="string",
    display_name="string",
    frontend_id=0,
    weight=0)
Copy
const httpRouteResource = new ovh.iploadbalancing.HttpRoute("httpRouteResource", {
    action: {
        type: "string",
        status: 0,
        target: "string",
    },
    serviceName: "string",
    displayName: "string",
    frontendId: 0,
    weight: 0,
});
Copy
type: ovh:IpLoadBalancing:HttpRoute
properties:
    action:
        status: 0
        target: string
        type: string
    displayName: string
    frontendId: 0
    serviceName: string
    weight: 0
Copy

HttpRoute Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

The HttpRoute resource accepts the following input properties:

Action This property is required. HttpRouteAction
Action triggered when all rules match
ServiceName
This property is required.
Changes to this property will trigger replacement.
string
The internal name of your IP load balancing
DisplayName string
Human readable name for your route, this field is for you
FrontendId int
Route traffic for this frontend
Weight int
Route priority ([0..255]). 0 if null. Highest priority routes are evaluated first. Only the first matching route will trigger an action
Action This property is required. HttpRouteActionArgs
Action triggered when all rules match
ServiceName
This property is required.
Changes to this property will trigger replacement.
string
The internal name of your IP load balancing
DisplayName string
Human readable name for your route, this field is for you
FrontendId int
Route traffic for this frontend
Weight int
Route priority ([0..255]). 0 if null. Highest priority routes are evaluated first. Only the first matching route will trigger an action
action This property is required. HttpRouteAction
Action triggered when all rules match
serviceName
This property is required.
Changes to this property will trigger replacement.
String
The internal name of your IP load balancing
displayName String
Human readable name for your route, this field is for you
frontendId Integer
Route traffic for this frontend
weight Integer
Route priority ([0..255]). 0 if null. Highest priority routes are evaluated first. Only the first matching route will trigger an action
action This property is required. HttpRouteAction
Action triggered when all rules match
serviceName
This property is required.
Changes to this property will trigger replacement.
string
The internal name of your IP load balancing
displayName string
Human readable name for your route, this field is for you
frontendId number
Route traffic for this frontend
weight number
Route priority ([0..255]). 0 if null. Highest priority routes are evaluated first. Only the first matching route will trigger an action
action This property is required. iploadbalancing.HttpRouteActionArgs
Action triggered when all rules match
service_name
This property is required.
Changes to this property will trigger replacement.
str
The internal name of your IP load balancing
display_name str
Human readable name for your route, this field is for you
frontend_id int
Route traffic for this frontend
weight int
Route priority ([0..255]). 0 if null. Highest priority routes are evaluated first. Only the first matching route will trigger an action
action This property is required. Property Map
Action triggered when all rules match
serviceName
This property is required.
Changes to this property will trigger replacement.
String
The internal name of your IP load balancing
displayName String
Human readable name for your route, this field is for you
frontendId Number
Route traffic for this frontend
weight Number
Route priority ([0..255]). 0 if null. Highest priority routes are evaluated first. Only the first matching route will trigger an action

Outputs

All input properties are implicitly available as output properties. Additionally, the HttpRoute resource produces the following output properties:

Id string
The provider-assigned unique ID for this managed resource.
Rules List<HttpRouteRule>
List of rules to match to trigger action
Status string
Route status. Routes in "ok" state are ready to operate
Id string
The provider-assigned unique ID for this managed resource.
Rules []HttpRouteRuleType
List of rules to match to trigger action
Status string
Route status. Routes in "ok" state are ready to operate
id String
The provider-assigned unique ID for this managed resource.
rules List<HttpRouteRule>
List of rules to match to trigger action
status String
Route status. Routes in "ok" state are ready to operate
id string
The provider-assigned unique ID for this managed resource.
rules HttpRouteRule[]
List of rules to match to trigger action
status string
Route status. Routes in "ok" state are ready to operate
id str
The provider-assigned unique ID for this managed resource.
rules Sequence[iploadbalancing.HttpRouteRule]
List of rules to match to trigger action
status str
Route status. Routes in "ok" state are ready to operate
id String
The provider-assigned unique ID for this managed resource.
rules List<Property Map>
List of rules to match to trigger action
status String
Route status. Routes in "ok" state are ready to operate

Look up Existing HttpRoute Resource

Get an existing HttpRoute resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: HttpRouteState, opts?: CustomResourceOptions): HttpRoute
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        action: Optional[_iploadbalancing.HttpRouteActionArgs] = None,
        display_name: Optional[str] = None,
        frontend_id: Optional[int] = None,
        rules: Optional[Sequence[_iploadbalancing.HttpRouteRuleArgs]] = None,
        service_name: Optional[str] = None,
        status: Optional[str] = None,
        weight: Optional[int] = None) -> HttpRoute
func GetHttpRoute(ctx *Context, name string, id IDInput, state *HttpRouteState, opts ...ResourceOption) (*HttpRoute, error)
public static HttpRoute Get(string name, Input<string> id, HttpRouteState? state, CustomResourceOptions? opts = null)
public static HttpRoute get(String name, Output<String> id, HttpRouteState state, CustomResourceOptions options)
resources:  _:    type: ovh:IpLoadBalancing:HttpRoute    get:      id: ${id}
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
The following state arguments are supported:
Action HttpRouteAction
Action triggered when all rules match
DisplayName string
Human readable name for your route, this field is for you
FrontendId int
Route traffic for this frontend
Rules List<HttpRouteRule>
List of rules to match to trigger action
ServiceName Changes to this property will trigger replacement. string
The internal name of your IP load balancing
Status string
Route status. Routes in "ok" state are ready to operate
Weight int
Route priority ([0..255]). 0 if null. Highest priority routes are evaluated first. Only the first matching route will trigger an action
Action HttpRouteActionArgs
Action triggered when all rules match
DisplayName string
Human readable name for your route, this field is for you
FrontendId int
Route traffic for this frontend
Rules []HttpRouteRuleTypeArgs
List of rules to match to trigger action
ServiceName Changes to this property will trigger replacement. string
The internal name of your IP load balancing
Status string
Route status. Routes in "ok" state are ready to operate
Weight int
Route priority ([0..255]). 0 if null. Highest priority routes are evaluated first. Only the first matching route will trigger an action
action HttpRouteAction
Action triggered when all rules match
displayName String
Human readable name for your route, this field is for you
frontendId Integer
Route traffic for this frontend
rules List<HttpRouteRule>
List of rules to match to trigger action
serviceName Changes to this property will trigger replacement. String
The internal name of your IP load balancing
status String
Route status. Routes in "ok" state are ready to operate
weight Integer
Route priority ([0..255]). 0 if null. Highest priority routes are evaluated first. Only the first matching route will trigger an action
action HttpRouteAction
Action triggered when all rules match
displayName string
Human readable name for your route, this field is for you
frontendId number
Route traffic for this frontend
rules HttpRouteRule[]
List of rules to match to trigger action
serviceName Changes to this property will trigger replacement. string
The internal name of your IP load balancing
status string
Route status. Routes in "ok" state are ready to operate
weight number
Route priority ([0..255]). 0 if null. Highest priority routes are evaluated first. Only the first matching route will trigger an action
action iploadbalancing.HttpRouteActionArgs
Action triggered when all rules match
display_name str
Human readable name for your route, this field is for you
frontend_id int
Route traffic for this frontend
rules Sequence[iploadbalancing.HttpRouteRuleArgs]
List of rules to match to trigger action
service_name Changes to this property will trigger replacement. str
The internal name of your IP load balancing
status str
Route status. Routes in "ok" state are ready to operate
weight int
Route priority ([0..255]). 0 if null. Highest priority routes are evaluated first. Only the first matching route will trigger an action
action Property Map
Action triggered when all rules match
displayName String
Human readable name for your route, this field is for you
frontendId Number
Route traffic for this frontend
rules List<Property Map>
List of rules to match to trigger action
serviceName Changes to this property will trigger replacement. String
The internal name of your IP load balancing
status String
Route status. Routes in "ok" state are ready to operate
weight Number
Route priority ([0..255]). 0 if null. Highest priority routes are evaluated first. Only the first matching route will trigger an action

Supporting Types

HttpRouteAction
, HttpRouteActionArgs

Type This property is required. string
Action to trigger if all the rules of this route matches
Status int
HTTP status code for "redirect" and "reject" actions
Target string
Farm ID for "farm" action type or URL template for "redirect" action. You may use ${uri}, ${protocol}, ${host}, ${port} and ${path} variables in redirect target
Type This property is required. string
Action to trigger if all the rules of this route matches
Status int
HTTP status code for "redirect" and "reject" actions
Target string
Farm ID for "farm" action type or URL template for "redirect" action. You may use ${uri}, ${protocol}, ${host}, ${port} and ${path} variables in redirect target
type This property is required. String
Action to trigger if all the rules of this route matches
status Integer
HTTP status code for "redirect" and "reject" actions
target String
Farm ID for "farm" action type or URL template for "redirect" action. You may use ${uri}, ${protocol}, ${host}, ${port} and ${path} variables in redirect target
type This property is required. string
Action to trigger if all the rules of this route matches
status number
HTTP status code for "redirect" and "reject" actions
target string
Farm ID for "farm" action type or URL template for "redirect" action. You may use ${uri}, ${protocol}, ${host}, ${port} and ${path} variables in redirect target
type This property is required. str
Action to trigger if all the rules of this route matches
status int
HTTP status code for "redirect" and "reject" actions
target str
Farm ID for "farm" action type or URL template for "redirect" action. You may use ${uri}, ${protocol}, ${host}, ${port} and ${path} variables in redirect target
type This property is required. String
Action to trigger if all the rules of this route matches
status Number
HTTP status code for "redirect" and "reject" actions
target String
Farm ID for "farm" action type or URL template for "redirect" action. You may use ${uri}, ${protocol}, ${host}, ${port} and ${path} variables in redirect target

HttpRouteRule
, HttpRouteRuleArgs

Field string
Name of the field to match like "protocol" or "host" "/ipLoadbalancing/{serviceName}/route/availableRules" for a list of available rules
Match string
Matching operator. Not all operators are available for all fields. See "availableRules"
Negate bool
Invert the matching operator effect
Pattern string
Value to match against this match. Interpretation if this field depends on the match and field
RuleId int
Id of your rule
SubField string
Name of sub-field, if applicable. This may be a Cookie or Header name for instance
Field string
Name of the field to match like "protocol" or "host" "/ipLoadbalancing/{serviceName}/route/availableRules" for a list of available rules
Match string
Matching operator. Not all operators are available for all fields. See "availableRules"
Negate bool
Invert the matching operator effect
Pattern string
Value to match against this match. Interpretation if this field depends on the match and field
RuleId int
Id of your rule
SubField string
Name of sub-field, if applicable. This may be a Cookie or Header name for instance
field String
Name of the field to match like "protocol" or "host" "/ipLoadbalancing/{serviceName}/route/availableRules" for a list of available rules
match String
Matching operator. Not all operators are available for all fields. See "availableRules"
negate Boolean
Invert the matching operator effect
pattern String
Value to match against this match. Interpretation if this field depends on the match and field
ruleId Integer
Id of your rule
subField String
Name of sub-field, if applicable. This may be a Cookie or Header name for instance
field string
Name of the field to match like "protocol" or "host" "/ipLoadbalancing/{serviceName}/route/availableRules" for a list of available rules
match string
Matching operator. Not all operators are available for all fields. See "availableRules"
negate boolean
Invert the matching operator effect
pattern string
Value to match against this match. Interpretation if this field depends on the match and field
ruleId number
Id of your rule
subField string
Name of sub-field, if applicable. This may be a Cookie or Header name for instance
field str
Name of the field to match like "protocol" or "host" "/ipLoadbalancing/{serviceName}/route/availableRules" for a list of available rules
match str
Matching operator. Not all operators are available for all fields. See "availableRules"
negate bool
Invert the matching operator effect
pattern str
Value to match against this match. Interpretation if this field depends on the match and field
rule_id int
Id of your rule
sub_field str
Name of sub-field, if applicable. This may be a Cookie or Header name for instance
field String
Name of the field to match like "protocol" or "host" "/ipLoadbalancing/{serviceName}/route/availableRules" for a list of available rules
match String
Matching operator. Not all operators are available for all fields. See "availableRules"
negate Boolean
Invert the matching operator effect
pattern String
Value to match against this match. Interpretation if this field depends on the match and field
ruleId Number
Id of your rule
subField String
Name of sub-field, if applicable. This may be a Cookie or Header name for instance

Import

HTTP route can be imported using the following format service_name and the id of the route separated by “/” e.g.

bash

$ pulumi import ovh:IpLoadBalancing/httpRoute:HttpRoute httpsredirect service_name/route_id
Copy

To learn more about importing existing cloud resources, see Importing resources.

Package Details

Repository
ovh ovh/pulumi-ovh
License
Apache-2.0
Notes
This Pulumi package is based on the ovh Terraform Provider.