Merge "Example create command"

This commit is contained in:
Jenkins
2014-07-01 22:28:22 +00:00
committed by Gerrit Code Review
2 changed files with 41 additions and 0 deletions

View File

@@ -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
@@ -166,6 +171,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
View 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))