Merge "Sample thin interface"
This commit is contained in:
		
							
								
								
									
										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 | ||||
		Reference in New Issue
	
	Block a user
	 Jenkins
					Jenkins