Merge "Sample thin interface"
This commit is contained in:
commit
538f826014
39
examples/thin.py
Normal file
39
examples/thin.py
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
|
# not use this file except in compliance with the License. You may obtain
|
||||||
|
# a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
|
# License for the specific language governing permissions and limitations
|
||||||
|
# under the License.
|
||||||
|
|
||||||
|
"""
|
||||||
|
Example Connection Command
|
||||||
|
|
||||||
|
Make sure you can authenticate before running this command.
|
||||||
|
|
||||||
|
For example:
|
||||||
|
python -m examples.thin
|
||||||
|
"""
|
||||||
|
|
||||||
|
import sys
|
||||||
|
|
||||||
|
from examples import common
|
||||||
|
from examples import connection
|
||||||
|
from openstack.network.v2 import thin
|
||||||
|
|
||||||
|
|
||||||
|
def run_thin(opts):
|
||||||
|
session = connection.make_connection(opts).session
|
||||||
|
request = thin.Thin()
|
||||||
|
for objay in request.list_networks(session):
|
||||||
|
print(objay['id'])
|
||||||
|
return
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
opts = common.setup()
|
||||||
|
sys.exit(common.main(opts, run_thin))
|
98
openstack/network/v2/thin.py
Normal file
98
openstack/network/v2/thin.py
Normal file
@ -0,0 +1,98 @@
|
|||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
|
# not use this file except in compliance with the License. You may obtain
|
||||||
|
# a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
|
# License for the specific language governing permissions and limitations
|
||||||
|
# under the License.
|
||||||
|
|
||||||
|
"""Thin interface to network objects.
|
||||||
|
|
||||||
|
This class provides a meaningful thin interface to network objects. The
|
||||||
|
interface does not create resource objects, it just returns dictionairies.
|
||||||
|
Except in special cases, the signatures of the methods are as follows:
|
||||||
|
|
||||||
|
create_*(session, attrs, r_id=None, path_args=None)
|
||||||
|
delete_*(session, r_id, path_args=None)
|
||||||
|
find_*(session, name_or_id, path_args=None, id_only=True)
|
||||||
|
get_*(session, r_id, path_args=None, include_headers=False)
|
||||||
|
head_*(session, r_id, path_args=None)
|
||||||
|
list_*(session, limit=None, marker=None, path_args=None, **params)
|
||||||
|
update_*(session, r_id, attrs, path_args=None)
|
||||||
|
|
||||||
|
Examples
|
||||||
|
--------
|
||||||
|
|
||||||
|
Find a router and update the administrative state.
|
||||||
|
|
||||||
|
from openstack.network.v2 import thin
|
||||||
|
requests = thin.Thin()
|
||||||
|
my_router = requests.find_router(session, 'awesome'):
|
||||||
|
my_router['admin_state_up'] = False
|
||||||
|
requests.update_router(session, my_router['id], my_router)
|
||||||
|
|
||||||
|
"""
|
||||||
|
|
||||||
|
from openstack.network.v2 import floatingip
|
||||||
|
from openstack.network.v2 import network
|
||||||
|
from openstack.network.v2 import port
|
||||||
|
from openstack.network.v2 import router
|
||||||
|
from openstack.network.v2 import security_group as group
|
||||||
|
from openstack.network.v2 import security_group_rule as rule
|
||||||
|
from openstack.network.v2 import subnet
|
||||||
|
|
||||||
|
|
||||||
|
class Thin(object):
|
||||||
|
|
||||||
|
create_ip = floatingip.FloatingIP.create_by_id
|
||||||
|
delete_ip = floatingip.FloatingIP.delete_by_id
|
||||||
|
find_ip = floatingip.FloatingIP.find
|
||||||
|
get_ip = floatingip.FloatingIP.get_data_by_id
|
||||||
|
list_ips = floatingip.FloatingIP.list
|
||||||
|
update_ip = floatingip.FloatingIP.update_by_id
|
||||||
|
|
||||||
|
create_network = network.Network.create_by_id
|
||||||
|
delete_network = network.Network.delete_by_id
|
||||||
|
find_network = network.Network.find
|
||||||
|
get_network = network.Network.get_data_by_id
|
||||||
|
list_networks = network.Network.list
|
||||||
|
update_network = network.Network.update_by_id
|
||||||
|
|
||||||
|
create_port = port.Port.create_by_id
|
||||||
|
delete_port = port.Port.delete_by_id
|
||||||
|
find_port = port.Port.find
|
||||||
|
get_port = port.Port.get_data_by_id
|
||||||
|
list_ports = port.Port.list
|
||||||
|
update_port = port.Port.update_by_id
|
||||||
|
|
||||||
|
create_router = router.Router.create_by_id
|
||||||
|
delete_router = router.Router.delete_by_id
|
||||||
|
find_router = router.Router.find
|
||||||
|
get_router = router.Router.get_data_by_id
|
||||||
|
list_routers = router.Router.list
|
||||||
|
update_router = router.Router.update_by_id
|
||||||
|
|
||||||
|
create_security_group = group.SecurityGroup.create_by_id
|
||||||
|
delete_security_group = group.SecurityGroup.delete_by_id
|
||||||
|
find_security_group = group.SecurityGroup.find
|
||||||
|
get_security_group = group.SecurityGroup.get_data_by_id
|
||||||
|
list_security_groups = group.SecurityGroup.list
|
||||||
|
update_security_group = group.SecurityGroup.update_by_id
|
||||||
|
|
||||||
|
create_security_group_rule = rule.SecurityGroupRule.create_by_id
|
||||||
|
delete_security_group_rule = rule.SecurityGroupRule.delete_by_id
|
||||||
|
find_security_group_rule = rule.SecurityGroupRule.find
|
||||||
|
get_security_group_rule = rule.SecurityGroupRule.get_data_by_id
|
||||||
|
list_security_group_rules = rule.SecurityGroupRule.list
|
||||||
|
update_security_group_rule = rule.SecurityGroupRule.update_by_id
|
||||||
|
|
||||||
|
create_subnet = subnet.Subnet.create_by_id
|
||||||
|
delete_subnet = subnet.Subnet.delete_by_id
|
||||||
|
find_subnet = subnet.Subnet.find
|
||||||
|
get_subnet = subnet.Subnet.get_data_by_id
|
||||||
|
list_subnets = subnet.Subnet.list
|
||||||
|
update_subnet = subnet.Subnet.update_by_id
|
Loading…
x
Reference in New Issue
Block a user