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",
});
}
}