Skip to content

Commit e1962df

Browse files
authored
Merge pull request #136 from laszlof/issue-132
Add LBAAS API Support
2 parents 01e5261 + e2a3cb8 commit e1962df

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

65 files changed

+3442
-1
lines changed
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
LoadBalancer HealthMonitors
2+
=====
3+
4+
Create HealthMonitor
5+
-----------
6+
7+
.. sample:: networking/v2/lbaas/healthmonitors/create.php
8+
.. refdoc:: OpenStack/Networking/v2/Service.html#method_createLoadBalancerHealthMonitor
9+
10+
Get HealthMonitor
11+
-----------
12+
13+
.. sample:: networking/v2/lbaas/healthmonitors/get.php
14+
.. refdoc:: OpenStack/Networking/v2/Service.html#method_getLoadBalancerHealthMonitor
15+
16+
List HealthMonitors
17+
-----------
18+
19+
.. sample:: networking/v2/lbaas/healthmonitors/list.php
20+
.. refdoc:: OpenStack/Networking/v2/Service.html#method_listLoadBalancerHealthMonitors
21+
22+
Update HealthMonitor
23+
-----------
24+
25+
.. sample:: networking/v2/lbaas/healthmonitors/update.php
26+
.. refdoc:: OpenStack/Networking/v2/Models/LoadBalancerHealthMonitor.html#method_update
27+
28+
Delete HealthMonitor
29+
-----------
30+
31+
.. sample:: networking/v2/lbaas/healthmonitors/delete.php
32+
.. refdoc:: OpenStack/Networking/v2/Models/LoadBalancerHealthMonitor.html#method_delete
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
LoadBalancer Listeners
2+
=====
3+
4+
Create Listener
5+
-----------
6+
7+
.. sample:: networking/v2/lbaas/listeners/create.php
8+
.. refdoc:: OpenStack/Networking/v2/Service.html#method_createLoadBalancerListener
9+
10+
Get Listener
11+
-----------
12+
13+
.. sample:: networking/v2/lbaas/listeners/get.php
14+
.. refdoc:: OpenStack/Networking/v2/Service.html#method_getLoadBalancerListener
15+
16+
List Listeners
17+
-----------
18+
19+
.. sample:: networking/v2/lbaas/listeners/list.php
20+
.. refdoc:: OpenStack/Networking/v2/Service.html#method_listLoadBalancerListeners
21+
22+
Update Listener
23+
-----------
24+
25+
.. sample:: networking/v2/lbaas/listeners/update.php
26+
.. refdoc:: OpenStack/Networking/v2/Models/LoadBalancerListener.html#method_update
27+
28+
Delete Listener
29+
-----------
30+
31+
.. sample:: networking/v2/lbaas/listeners/delete.php
32+
.. refdoc:: OpenStack/Networking/v2/Models/LoadBalancerListener.html#method_delete
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
LoadBalancer Pools
2+
=====
3+
4+
Create Pool
5+
-----------
6+
7+
.. sample:: networking/v2/lbaas/pools/create.php
8+
.. refdoc:: OpenStack/Networking/v2/Service.html#method_createLoadBalancerPool
9+
10+
Get Pool
11+
-----------
12+
13+
.. sample:: networking/v2/lbaas/pools/get.php
14+
.. refdoc:: OpenStack/Networking/v2/Service.html#method_getLoadBalancerPool
15+
16+
List Pools
17+
-----------
18+
19+
.. sample:: networking/v2/lbaas/pools/list.php
20+
.. refdoc:: OpenStack/Networking/v2/Service.html#method_listLoadBalancerPools
21+
22+
Update Pool
23+
-----------
24+
25+
.. sample:: networking/v2/lbaas/pools/update.php
26+
.. refdoc:: OpenStack/Networking/v2/Models/LoadBalancerPool.html#method_update
27+
28+
Delete Pool
29+
-----------
30+
31+
.. sample:: networking/v2/lbaas/pools/delete.php
32+
.. refdoc:: OpenStack/Networking/v2/Models/LoadBalancerPool.html#method_delete
33+
34+
Add Member
35+
-----------
36+
37+
.. sample:: networking/v2/lbaas/pools/add-member.php
38+
.. refdoc:: OpenStack/Networking/v2/Models/LoadBalancerPool.html#method_addMember
39+
40+
Get Member
41+
-----------
42+
43+
.. sample:: networking/v2/lbaas/pools/get-member.php
44+
.. refdoc:: OpenStack/Networking/v2/Models/LoadBalancerPool.html#method_getMember
45+
46+
Delete Member
47+
-----------
48+
49+
.. sample:: networking/v2/lbaas/pools/delete-member.php
50+
.. refdoc:: OpenStack/Networking/v2/Models/LoadBalancerPool.html#method_deleteMember
51+
52+
Add Health Monitor
53+
-----------
54+
55+
.. sample:: networking/v2/lbaas/pools/add-healthmonitor.php
56+
.. refdoc:: OpenStack/Networking/v2/Models/LoadBalancerPool.html#method_addHealthMonitor
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
LoadBalancers
2+
=====
3+
4+
Create LoadBalancer
5+
-----------
6+
7+
.. sample:: networking/v2/lbaas/loadbalancers/create.php
8+
.. refdoc:: OpenStack/Networking/v2/Service.html#method_createLoadBalancer
9+
10+
Get LoadBalancer
11+
-----------
12+
13+
.. sample:: networking/v2/lbaas/loadbalancers/get.php
14+
.. refdoc:: OpenStack/Networking/v2/Service.html#method_getLoadBalancer
15+
16+
List LoadBalancers
17+
-----------
18+
19+
.. sample:: networking/v2/lbaas/loadbalancers/list.php
20+
.. refdoc:: OpenStack/Networking/v2/Service.html#method_listLoadBalancers
21+
22+
Update LoadBalancer
23+
-----------
24+
25+
.. sample:: networking/v2/lbaas/loadbalancers/update.php
26+
.. refdoc:: OpenStack/Networking/v2/Models/LoadBalancer.html#method_update
27+
28+
Delete LoadBalancer
29+
-----------
30+
31+
.. sample:: networking/v2/lbaas/loadbalancers/delete.php
32+
.. refdoc:: OpenStack/Networking/v2/Models/LoadBalancer.html#method_delete
33+
34+
Add Listener to LoadBalancer
35+
-----------
36+
.. sample:: networking/v2/lbaas/loadbalancers/add_listener.php
37+
.. refdoc:: OpenStack/Networking/v2/Models/LoadBalancer.html#method_addListener
38+
39+
Get Stats for LoadBalancer
40+
-----------
41+
.. sample:: networking/v2/lbaas/loadbalancers/get_stats.php
42+
.. refdoc:: OpenStack/Networking/v2/Models/LoadBalancer.html#method_getStats
43+
44+
Get Status Tree for LoadBalancer
45+
-----------
46+
.. sample:: networking/v2/lbaas/loadbalancers/get_statuses.php
47+
.. refdoc:: OpenStack/Networking/v2/Models/LoadBalancer.html#method_getStatuses
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
<?php
2+
3+
require 'vendor/autoload.php';
4+
5+
$openstack = new OpenStack\OpenStack([
6+
'authUrl' => '{authUrl}',
7+
'region' => '{region}',
8+
'user' => [
9+
'id' => '{userId}',
10+
'password' => '{password}'
11+
],
12+
'scope' => [
13+
'project' => [
14+
'id' => '{projectId}'
15+
]
16+
]
17+
]);
18+
19+
$networking = $openstack->networkingV2();
20+
21+
// Health Monitor options
22+
$options = [
23+
'poolId' => '{poolId}',
24+
'type' => 'HTTPS',
25+
'delay' => 1,
26+
'timeout' => 1,
27+
'httpMethod' => 'GET',
28+
'urlPath' => '/',
29+
'expectedCodes' => '200,201,302',
30+
'maxRetries' => 5,
31+
'adminStateUp' => true
32+
];
33+
34+
// Create the listener
35+
$healthmonitor = $networking->createLoadBalancerHealthMonitor($options);
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<?php
2+
3+
require 'vendor/autoload.php';
4+
5+
$openstack = new OpenStack\OpenStack([
6+
'authUrl' => '{authUrl}',
7+
'region' => '{region}',
8+
'user' => [
9+
'id' => '{userId}',
10+
'password' => '{password}'
11+
],
12+
'scope' => [
13+
'project' => [
14+
'id' => '{projectId}'
15+
]
16+
]
17+
]);
18+
19+
$networking = $openstack->networkingV2();
20+
21+
// Get the health montitor
22+
$healthmonitor = $networking->getLoadBalancerHealthMonitor('{healthmonitorId}');
23+
24+
$healthmonitor->delete();
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<?php
2+
3+
require 'vendor/autoload.php';
4+
5+
$openstack = new OpenStack\OpenStack([
6+
'authUrl' => '{authUrl}',
7+
'region' => '{region}',
8+
'user' => [
9+
'id' => '{userId}',
10+
'password' => '{password}'
11+
],
12+
'scope' => [
13+
'project' => [
14+
'id' => '{projectId}'
15+
]
16+
]
17+
]);
18+
19+
$networking = $openstack->networkingV2();
20+
21+
// Get the health monitor
22+
$healthmonitor = $networking->getLoadBalancerHealthMonitor('{healthmonitorId}');
23+
$healthmonitor->retrieve();
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<?php
2+
3+
require 'vendor/autoload.php';
4+
5+
$openstack = new OpenStack\OpenStack([
6+
'authUrl' => '{authUrl}',
7+
'region' => '{region}',
8+
'user' => [
9+
'id' => '{userId}',
10+
'password' => '{password}'
11+
],
12+
'scope' => [
13+
'project' => [
14+
'id' => '{projectId}'
15+
]
16+
]
17+
]);
18+
19+
$networking = $openstack->networkingV2();
20+
21+
foreach ($networking->listLoadBalancerHealthMonitors() as $healthmonitor) {
22+
// Do Stuff
23+
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
<?php
2+
3+
require 'vendor/autoload.php';
4+
5+
$openstack = new OpenStack\OpenStack([
6+
'authUrl' => '{authUrl}',
7+
'region' => '{region}',
8+
'user' => [
9+
'id' => '{userId}',
10+
'password' => '{password}'
11+
],
12+
'scope' => [
13+
'project' => [
14+
'id' => '{projectId}'
15+
]
16+
]
17+
]);
18+
19+
$networking = $openstack->networkingV2();
20+
21+
// Get the healthmonitor
22+
$healthmonitor = $networking->getLoadBalancerHealthMonitor('{healthmonitorId}');
23+
24+
$healthmonitor->delay = 30;
25+
$healthmonitor->timeout = 60;
26+
$healthmonitor->httpMethod = 'POST';
27+
$healthmonitor->update();
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
<?php
2+
3+
require 'vendor/autoload.php';
4+
5+
$openstack = new OpenStack\OpenStack([
6+
'authUrl' => '{authUrl}',
7+
'region' => '{region}',
8+
'user' => [
9+
'id' => '{userId}',
10+
'password' => '{password}'
11+
],
12+
'scope' => [
13+
'project' => [
14+
'id' => '{projectId}'
15+
]
16+
]
17+
]);
18+
19+
$networking = $openstack->networkingV2();
20+
21+
// Options for listener
22+
$options = [
23+
'name' => 'listenerName',
24+
'description' => 'Load Balancer Listener',
25+
'loadbalancerId' => '{loadbalancerId}',
26+
'adminStateUp' => true,
27+
'protocol' => 'HTTPS',
28+
'protocolPort' => 443,
29+
'connectionLimit' => 1000
30+
];
31+
32+
// Create the listener
33+
$listener = $networking->createLoadBalancerListener($options);

0 commit comments

Comments
 (0)