Example create command
Example create command and new --data option for examples. For example: python -m examples.create openstack/network/v2_0/network.py \ --data '{"name": "foo"}' Change-Id: Ie048f0e7d31b25e8c3df79a59d3cd73f4ce2b1b2
This commit is contained in:
@@ -27,6 +27,7 @@ playing with the example scripts against a running OpenStack simpler.
|
||||
"""
|
||||
|
||||
import argparse
|
||||
import json
|
||||
import logging
|
||||
import os
|
||||
import subprocess
|
||||
@@ -55,6 +56,10 @@ def find_resource_cls(opts):
|
||||
return getattr(mod, class_str)
|
||||
|
||||
|
||||
def get_data_option(opts):
|
||||
return json.loads(opts.data)
|
||||
|
||||
|
||||
def get_open_fds():
|
||||
'''Return the open file descriptors for current process
|
||||
|
||||
@@ -161,6 +166,12 @@ def option_parser():
|
||||
default=env('OS_URL'),
|
||||
help='Defaults to env[OS_URL]',
|
||||
)
|
||||
parser.add_argument(
|
||||
'--data',
|
||||
metavar='<data>',
|
||||
default='{}',
|
||||
help='Json data for command.',
|
||||
)
|
||||
parser.add_argument(
|
||||
'-v', '--verbose',
|
||||
action='count',
|
||||
|
30
examples/create.py
Normal file
30
examples/create.py
Normal file
@@ -0,0 +1,30 @@
|
||||
# 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.
|
||||
|
||||
import sys
|
||||
|
||||
from examples import common
|
||||
from examples import session
|
||||
|
||||
|
||||
def run_create(opts):
|
||||
sess = session.make_session(opts)
|
||||
cls = common.find_resource_cls(opts)
|
||||
obj = cls.new(**common.get_data_option(opts))
|
||||
obj.create(sess)
|
||||
print(str(obj))
|
||||
return
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
opts = common.setup()
|
||||
sys.exit(common.main(opts, run_create))
|
Reference in New Issue
Block a user