1. Packages
  2. OVH
  3. API Docs
  4. IpLoadBalancing
  5. HttpRoute
OVHCloud v0.50.1 published on Friday, Sep 27, 2024 by OVHcloud

ovh.IpLoadBalancing.HttpRoute

Explore with Pulumi AI

ovh logo
OVHCloud v0.50.1 published on Friday, Sep 27, 2024 by OVHcloud

    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,
    });
    
    import pulumi
    import pulumi_ovh as ovh
    
    httpsredirect = 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)
    
    package main
    
    import (
    	"github.com/ovh/pulumi-ovh/sdk/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
    	})
    }
    
    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,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.ovh.IpLoadBalancing.HttpRoute;
    import com.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());
    
        }
    }
    
    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
    

    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 string
    The unique name of the resource.
    args HttpRouteArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args 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 string
    The unique name of the resource.
    args HttpRouteArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args HttpRouteArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args 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,
    });
    
    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),
    })
    
    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());
    
    http_route_resource = ovh.ip_load_balancing.HttpRoute("httpRouteResource",
        action=ovh.ip_load_balancing.HttpRouteActionArgs(
            type="string",
            status=0,
            target="string",
        ),
        service_name="string",
        display_name="string",
        frontend_id=0,
        weight=0)
    
    const httpRouteResource = new ovh.iploadbalancing.HttpRoute("httpRouteResource", {
        action: {
            type: "string",
            status: 0,
            target: "string",
        },
        serviceName: "string",
        displayName: "string",
        frontendId: 0,
        weight: 0,
    });
    
    type: ovh:IpLoadBalancing:HttpRoute
    properties:
        action:
            status: 0
            target: string
            type: string
        displayName: string
        frontendId: 0
        serviceName: string
        weight: 0
    

    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

    The HttpRoute resource accepts the following input properties:

    Action HttpRouteAction
    Action triggered when all rules match
    ServiceName 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 HttpRouteActionArgs
    Action triggered when all rules match
    ServiceName 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 HttpRouteAction
    Action triggered when all rules match
    serviceName 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 HttpRouteAction
    Action triggered when all rules match
    serviceName 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 iploadbalancing.HttpRouteActionArgs
    Action triggered when all rules match
    service_name 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 Property Map
    Action triggered when all rules match
    serviceName 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)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    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
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    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
    The unique name of the resulting resource.
    id
    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
    The unique name of the resulting resource.
    id
    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 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 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 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 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 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 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 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 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 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 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 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 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.

    $ terraform import ovh_iploadbalancing_http_route.httpsredirect service_name/route_id
    

    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.
    ovh logo
    OVHCloud v0.50.1 published on Friday, Sep 27, 2024 by OVHcloud