Show / Hide Table of Contents

Namespace Pulumi.OpenStack.LoadBalancer

Classes

L7PolicyV2

Manages a Load Balancer L7 Policy resource within OpenStack.

Example Usage

using Pulumi;
using OpenStack = Pulumi.OpenStack;

class MyStack : Stack
{
public MyStack()
{
    var network1 = new OpenStack.Networking.Network("network1", new OpenStack.Networking.NetworkArgs
    {
        AdminStateUp = "true",
    });
    var subnet1 = new OpenStack.Networking.Subnet("subnet1", new OpenStack.Networking.SubnetArgs
    {
        Cidr = "192.168.199.0/24",
        IpVersion = 4,
        NetworkId = network1.Id,
    });
    var loadbalancer1 = new OpenStack.LoadBalancer.LoadBalancer("loadbalancer1", new OpenStack.LoadBalancer.LoadBalancerArgs
    {
        VipSubnetId = subnet1.Id,
    });
    var listener1 = new OpenStack.LoadBalancer.Listener("listener1", new OpenStack.LoadBalancer.ListenerArgs
    {
        LoadbalancerId = loadbalancer1.Id,
        Protocol = "HTTP",
        ProtocolPort = 8080,
    });
    var pool1 = new OpenStack.LoadBalancer.Pool("pool1", new OpenStack.LoadBalancer.PoolArgs
    {
        LbMethod = "ROUND_ROBIN",
        LoadbalancerId = loadbalancer1.Id,
        Protocol = "HTTP",
    });
    var l7policy1 = new OpenStack.LoadBalancer.L7PolicyV2("l7policy1", new OpenStack.LoadBalancer.L7PolicyV2Args
    {
        Action = "REDIRECT_TO_POOL",
        Description = "test l7 policy",
        ListenerId = listener1.Id,
        Position = 1,
        RedirectPoolId = pool1.Id,
    });
}

}

L7PolicyV2Args

L7PolicyV2State

L7RuleV2

Manages a V2 L7 Rule resource within OpenStack.

Example Usage

using Pulumi;
using OpenStack = Pulumi.OpenStack;

class MyStack : Stack
{
public MyStack()
{
    var network1 = new OpenStack.Networking.Network("network1", new OpenStack.Networking.NetworkArgs
    {
        AdminStateUp = "true",
    });
    var subnet1 = new OpenStack.Networking.Subnet("subnet1", new OpenStack.Networking.SubnetArgs
    {
        Cidr = "192.168.199.0/24",
        IpVersion = 4,
        NetworkId = network1.Id,
    });
    var loadbalancer1 = new OpenStack.LoadBalancer.LoadBalancer("loadbalancer1", new OpenStack.LoadBalancer.LoadBalancerArgs
    {
        VipSubnetId = subnet1.Id,
    });
    var listener1 = new OpenStack.LoadBalancer.Listener("listener1", new OpenStack.LoadBalancer.ListenerArgs
    {
        LoadbalancerId = loadbalancer1.Id,
        Protocol = "HTTP",
        ProtocolPort = 8080,
    });
    var pool1 = new OpenStack.LoadBalancer.Pool("pool1", new OpenStack.LoadBalancer.PoolArgs
    {
        LbMethod = "ROUND_ROBIN",
        LoadbalancerId = loadbalancer1.Id,
        Protocol = "HTTP",
    });
    var l7policy1 = new OpenStack.LoadBalancer.L7PolicyV2("l7policy1", new OpenStack.LoadBalancer.L7PolicyV2Args
    {
        Action = "REDIRECT_TO_URL",
        Description = "test description",
        ListenerId = listener1.Id,
        Position = 1,
        RedirectUrl = "http://www.example.com",
    });
    var l7rule1 = new OpenStack.LoadBalancer.L7RuleV2("l7rule1", new OpenStack.LoadBalancer.L7RuleV2Args
    {
        CompareType = "EQUAL_TO",
        L7policyId = l7policy1.Id,
        Type = "PATH",
        Value = "/api",
    });
}

}

L7RuleV2Args

L7RuleV2State

Listener

Manages a V2 listener resource within OpenStack.

Example Usage

using Pulumi;
using OpenStack = Pulumi.OpenStack;

class MyStack : Stack
{
public MyStack()
{
    var listener1 = new OpenStack.LoadBalancer.Listener("listener1", new OpenStack.LoadBalancer.ListenerArgs
    {
        InsertHeaders = 
        {
            { "X-Forwarded-For", "true" },
        },
        LoadbalancerId = "d9415786-5f1a-428b-b35f-2f1523e146d2",
        Protocol = "HTTP",
        ProtocolPort = 8080,
    });
}

}

ListenerArgs

ListenerState

LoadBalancer

Manages a V2 loadbalancer resource within OpenStack.

Example Usage

using Pulumi;
using OpenStack = Pulumi.OpenStack;

class MyStack : Stack
{
public MyStack()
{
    var lb1 = new OpenStack.LoadBalancer.LoadBalancer("lb1", new OpenStack.LoadBalancer.LoadBalancerArgs
    {
        VipSubnetId = "d9415786-5f1a-428b-b35f-2f1523e146d2",
    });
}

}

LoadBalancerArgs

LoadBalancerState

Member

Manages a V2 member resource within OpenStack.

Example Usage

using Pulumi;
using OpenStack = Pulumi.OpenStack;

class MyStack : Stack
{
public MyStack()
{
    var member1 = new OpenStack.LoadBalancer.Member("member1", new OpenStack.LoadBalancer.MemberArgs
    {
        Address = "192.168.199.23",
        PoolId = "935685fb-a896-40f9-9ff4-ae531a3a00fe",
        ProtocolPort = 8080,
    });
}

}

MemberArgs

Members

Manages a V2 members resource within OpenStack (batch members update).

Note: This resource works only within Octavia API. For legacy Neutron LBaaS v2 extension please use openstack.loadbalancer.Member resource.

Example Usage

using Pulumi;
using OpenStack = Pulumi.OpenStack;

class MyStack : Stack
{
public MyStack()
{
    var members1 = new OpenStack.LoadBalancer.Members("members1", new OpenStack.LoadBalancer.MembersArgs
    {
        Members = 
        {
            new OpenStack.LoadBalancer.Inputs.MembersMemberArgs
            {
                Address = "192.168.199.23",
                ProtocolPort = 8080,
            },
            new OpenStack.LoadBalancer.Inputs.MembersMemberArgs
            {
                Address = "192.168.199.24",
                ProtocolPort = 8080,
            },
        },
        PoolId = "935685fb-a896-40f9-9ff4-ae531a3a00fe",
    });
}

}

MembersArgs

MembersState

MemberState

MemberV1

Manages a V1 load balancer member resource within OpenStack.

Example Usage

using Pulumi;
using OpenStack = Pulumi.OpenStack;

class MyStack : Stack
{
public MyStack()
{
    var member1 = new OpenStack.LoadBalancer.MemberV1("member1", new OpenStack.LoadBalancer.MemberV1Args
    {
        Address = "192.168.0.10",
        PoolId = "d9415786-5f1a-428b-b35f-2f1523e146d2",
        Port = 80,
    });
}

}

MemberV1Args

MemberV1State

Monitor

Manages a V2 monitor resource within OpenStack.

Example Usage

using Pulumi;
using OpenStack = Pulumi.OpenStack;

class MyStack : Stack
{
public MyStack()
{
    var monitor1 = new OpenStack.LoadBalancer.Monitor("monitor1", new OpenStack.LoadBalancer.MonitorArgs
    {
        Delay = 20,
        MaxRetries = 5,
        PoolId = openstack_lb_pool_v2.Pool_1.Id,
        Timeout = 10,
        Type = "PING",
    });
}

}

MonitorArgs

MonitorState

MonitorV1

Manages a V1 load balancer monitor resource within OpenStack.

Example Usage

using Pulumi;
using OpenStack = Pulumi.OpenStack;

class MyStack : Stack
{
public MyStack()
{
    var monitor1 = new OpenStack.LoadBalancer.MonitorV1("monitor1", new OpenStack.LoadBalancer.MonitorV1Args
    {
        AdminStateUp = "true",
        Delay = 30,
        MaxRetries = 3,
        Timeout = 5,
        Type = "PING",
    });
}

}

MonitorV1Args

MonitorV1State

Pool

Manages a V2 pool resource within OpenStack.

Example Usage

using Pulumi;
using OpenStack = Pulumi.OpenStack;

class MyStack : Stack
{
public MyStack()
{
    var pool1 = new OpenStack.LoadBalancer.Pool("pool1", new OpenStack.LoadBalancer.PoolArgs
    {
        LbMethod = "ROUND_ROBIN",
        ListenerId = "d9415786-5f1a-428b-b35f-2f1523e146d2",
        Persistence = new OpenStack.LoadBalancer.Inputs.PoolPersistenceArgs
        {
            CookieName = "testCookie",
            Type = "APP_COOKIE",
        },
        Protocol = "HTTP",
    });
}

}

PoolArgs

PoolState

PoolV1

Manages a V1 load balancer pool resource within OpenStack.

Example Usage

using Pulumi;
using OpenStack = Pulumi.OpenStack;

class MyStack : Stack
{
public MyStack()
{
    var pool1 = new OpenStack.LoadBalancer.PoolV1("pool1", new OpenStack.LoadBalancer.PoolV1Args
    {
        LbMethod = "ROUND_ROBIN",
        LbProvider = "haproxy",
        MonitorIds = 
        {
            "67890",
        },
        Protocol = "HTTP",
        SubnetId = "12345",
    });
}

}

Complete Load Balancing Stack Example

using Pulumi;
using OpenStack = Pulumi.OpenStack;

class MyStack : Stack
{
public MyStack()
{
    var network1 = new OpenStack.Networking.Network("network1", new OpenStack.Networking.NetworkArgs
    {
        AdminStateUp = "true",
    });
    var subnet1 = new OpenStack.Networking.Subnet("subnet1", new OpenStack.Networking.SubnetArgs
    {
        Cidr = "192.168.199.0/24",
        IpVersion = 4,
        NetworkId = network1.Id,
    });
    var secgroup1 = new OpenStack.Compute.SecGroup("secgroup1", new OpenStack.Compute.SecGroupArgs
    {
        Description = "Rules for secgroup_1",
        Rules = 
        {
            new OpenStack.Compute.Inputs.SecGroupRuleArgs
            {
                Cidr = "0.0.0.0/0",
                FromPort = -1,
                IpProtocol = "icmp",
                ToPort = -1,
            },
            new OpenStack.Compute.Inputs.SecGroupRuleArgs
            {
                Cidr = "0.0.0.0/0",
                FromPort = 80,
                IpProtocol = "tcp",
                ToPort = 80,
            },
        },
    });
    var instance1 = new OpenStack.Compute.Instance("instance1", new OpenStack.Compute.InstanceArgs
    {
        Networks = 
        {
            new OpenStack.Compute.Inputs.InstanceNetworkArgs
            {
                Uuid = network1.Id,
            },
        },
        SecurityGroups = 
        {
            "default",
            secgroup1.Name,
        },
    });
    var instance2 = new OpenStack.Compute.Instance("instance2", new OpenStack.Compute.InstanceArgs
    {
        Networks = 
        {
            new OpenStack.Compute.Inputs.InstanceNetworkArgs
            {
                Uuid = network1.Id,
            },
        },
        SecurityGroups = 
        {
            "default",
            secgroup1.Name,
        },
    });
    var monitor1 = new OpenStack.LoadBalancer.MonitorV1("monitor1", new OpenStack.LoadBalancer.MonitorV1Args
    {
        AdminStateUp = "true",
        Delay = 30,
        MaxRetries = 3,
        Timeout = 5,
        Type = "TCP",
    });
    var pool1 = new OpenStack.LoadBalancer.PoolV1("pool1", new OpenStack.LoadBalancer.PoolV1Args
    {
        LbMethod = "ROUND_ROBIN",
        MonitorIds = 
        {
            monitor1.Id,
        },
        Protocol = "TCP",
        SubnetId = subnet1.Id,
    });
    var member1 = new OpenStack.LoadBalancer.MemberV1("member1", new OpenStack.LoadBalancer.MemberV1Args
    {
        Address = instance1.AccessIpV4,
        PoolId = pool1.Id,
        Port = 80,
    });
    var member2 = new OpenStack.LoadBalancer.MemberV1("member2", new OpenStack.LoadBalancer.MemberV1Args
    {
        Address = instance2.AccessIpV4,
        PoolId = pool1.Id,
        Port = 80,
    });
    var vip1 = new OpenStack.LoadBalancer.Vip("vip1", new OpenStack.LoadBalancer.VipArgs
    {
        PoolId = pool1.Id,
        Port = 80,
        Protocol = "TCP",
        SubnetId = subnet1.Id,
    });
}

}

Notes

The member block is deprecated in favor of the openstack.loadbalancer.MemberV1 resource.

PoolV1Args

PoolV1State

Vip

Manages a V1 load balancer vip resource within OpenStack.

Example Usage

using Pulumi;
using OpenStack = Pulumi.OpenStack;

class MyStack : Stack
{
public MyStack()
{
    var vip1 = new OpenStack.LoadBalancer.Vip("vip1", new OpenStack.LoadBalancer.VipArgs
    {
        PoolId = "67890",
        Port = 80,
        Protocol = "HTTP",
        SubnetId = "12345",
    });
}

}

VipArgs

VipState

Back to top Copyright 2016-2020, Pulumi Corporation.