本文整理汇总了Python中SoftLayer.CCIManager.get_create_options方法的典型用法代码示例。如果您正苦于以下问题:Python CCIManager.get_create_options方法的具体用法?Python CCIManager.get_create_options怎么用?Python CCIManager.get_create_options使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SoftLayer.CCIManager
的用法示例。
在下文中一共展示了CCIManager.get_create_options方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: on_get
# 需要导入模块: from SoftLayer import CCIManager [as 别名]
# 或者: from SoftLayer.CCIManager import get_create_options [as 别名]
def on_get(self, req, resp, tenant_id):
client = req.env['sl_client']
cci = CCIManager(client)
all_options = cci.get_create_options()
results = []
# Load and sort all data centers
for option in all_options['datacenters']:
name = lookup(option, 'template', 'datacenter', 'name')
results.append({'zoneState': {'available': True}, 'hosts': None,
'zoneName': name})
results = sorted(results, key=lambda x: x['zoneName'])
resp.body = {'availabilityZoneInfo': results}
示例2: CCITests
# 需要导入模块: from SoftLayer import CCIManager [as 别名]
# 或者: from SoftLayer.CCIManager import get_create_options [as 别名]
class CCITests(unittest.TestCase):
def setUp(self):
self.client = FixtureClient()
self.cci = CCIManager(self.client)
def test_list_instances(self):
mcall = call(mask=ANY, filter={})
service = self.client['Account']
list_expected_ids = [100, 104]
hourly_expected_ids = [104]
monthly_expected_ids = [100]
results = self.cci.list_instances(hourly=True, monthly=True)
service.getVirtualGuests.assert_has_calls(mcall)
for result in results:
self.assertIn(result['id'], list_expected_ids)
result = self.cci.list_instances(hourly=False, monthly=False)
service.getVirtualGuests.assert_has_calls(mcall)
for result in results:
self.assertIn(result['id'], list_expected_ids)
results = self.cci.list_instances(hourly=False, monthly=True)
service.getMonthlyVirtualGuests.assert_has_calls(mcall)
for result in results:
self.assertIn(result['id'], monthly_expected_ids)
results = self.cci.list_instances(hourly=True, monthly=False)
service.getHourlyVirtualGuests.assert_has_calls(mcall)
for result in results:
self.assertIn(result['id'], hourly_expected_ids)
def test_list_instances_with_filters(self):
self.cci.list_instances(
hourly=True,
monthly=True,
tags=['tag1', 'tag2'],
cpus=2,
memory=1024,
hostname='hostname',
domain='example.com',
local_disk=True,
datacenter='dal05',
nic_speed=100,
public_ip='1.2.3.4',
private_ip='4.3.2.1',
)
service = self.client['Account']
service.getVirtualGuests.assert_has_calls(call(
filter={
'virtualGuests': {
'datacenter': {
'name': {'operation': '_= dal05'}},
'domain': {'operation': '_= example.com'},
'tagReferences': {
'tag': {'name': {
'operation': 'in',
'options': [{
'name': 'data', 'value': ['tag1', 'tag2']}]}}},
'maxCpu': {'operation': 2},
'localDiskFlag': {'operation': True},
'maxMemory': {'operation': 1024},
'hostname': {'operation': '_= hostname'},
'networkComponents': {'maxSpeed': {'operation': 100}},
'primaryIpAddress': {'operation': '_= 1.2.3.4'},
'primaryBackendIpAddress': {'operation': '_= 4.3.2.1'}
}},
mask=ANY,
))
def test_resolve_ids_ip(self):
service = self.client['Account']
_id = self.cci._get_ids_from_ip('172.16.240.2')
self.assertEqual(_id, [100, 104])
_id = self.cci._get_ids_from_ip('nope')
self.assertEqual(_id, [])
# Now simulate a private IP test
service.getVirtualGuests.side_effect = [[], [{'id': 99}]]
_id = self.cci._get_ids_from_ip('10.0.1.87')
self.assertEqual(_id, [99])
def test_resolve_ids_hostname(self):
_id = self.cci._get_ids_from_hostname('cci-test1')
self.assertEqual(_id, [100, 104])
def test_get_instance(self):
result = self.cci.get_instance(100)
self.client['Virtual_Guest'].getObject.assert_called_once_with(
id=100, mask=ANY)
self.assertEqual(Virtual_Guest.getObject, result)
def test_get_create_options(self):
results = self.cci.get_create_options()
self.assertEqual(Virtual_Guest.getCreateObjectOptions, results)
#.........这里部分代码省略.........
示例3: execute
# 需要导入模块: from SoftLayer import CCIManager [as 别名]
# 或者: from SoftLayer.CCIManager import get_create_options [as 别名]
def execute(self, args):
cci = CCIManager(self.client)
result = cci.get_create_options()
show_all = True
for opt_name in self.options:
if args.get("--" + opt_name):
show_all = False
break
if args['--all']:
show_all = True
table = KeyValueTable(['Name', 'Value'])
table.align['Name'] = 'r'
table.align['Value'] = 'l'
if args['--datacenter'] or show_all:
datacenters = [dc['template']['datacenter']['name']
for dc in result['datacenters']]
table.add_row(['datacenter', listing(datacenters, separator=',')])
if args['--cpu'] or show_all:
standard_cpu = [x for x in result['processors']
if not x['template'].get(
'dedicatedAccountHostOnlyFlag', False)]
ded_cpu = [x for x in result['processors']
if x['template'].get('dedicatedAccountHostOnlyFlag',
False)]
def add_cpus_row(cpu_options, name):
""" Add CPU rows to the table """
cpus = []
for cpu_option in cpu_options:
cpus.append(str(cpu_option['template']['startCpus']))
table.add_row(['cpus (%s)' % name,
listing(cpus, separator=',')])
add_cpus_row(ded_cpu, 'private')
add_cpus_row(standard_cpu, 'standard')
if args['--memory'] or show_all:
memory = [
str(m['template']['maxMemory']) for m in result['memory']]
table.add_row(['memory', listing(memory, separator=',')])
if args['--os'] or show_all:
op_sys = [
o['template']['operatingSystemReferenceCode'] for o in
result['operatingSystems']]
op_sys = sorted(op_sys)
os_summary = set()
for operating_system in op_sys:
os_summary.add(operating_system[0:operating_system.find('_')])
for summary in sorted(os_summary):
table.add_row([
'os (%s)' % summary,
linesep.join(sorted([x for x in op_sys
if x[0:len(summary)] == summary]))
])
if args['--disk'] or show_all:
local_disks = [x for x in result['blockDevices']
if x['template'].get('localDiskFlag', False)]
san_disks = [x for x in result['blockDevices']
if not x['template'].get('localDiskFlag', False)]
def add_block_rows(disks, name):
""" Add block rows to the table """
simple = {}
for disk in disks:
block = disk['template']['blockDevices'][0]
bid = block['device']
if bid not in simple:
simple[bid] = []
simple[bid].append(str(block['diskImage']['capacity']))
for label in sorted(simple.keys()):
table.add_row(['%s disk(%s)' % (name, label),
listing(simple[label], separator=',')])
add_block_rows(local_disks, 'local')
add_block_rows(san_disks, 'san')
if args['--nic'] or show_all:
speeds = []
for comp in result['networkComponents']:
speed = comp['template']['networkComponents'][0]['maxSpeed']
speeds.append(str(speed))
speeds = sorted(speeds)
#.........这里部分代码省略.........
示例4: execute
# 需要导入模块: from SoftLayer import CCIManager [as 别名]
# 或者: from SoftLayer.CCIManager import get_create_options [as 别名]
def execute(self, args):
cci = CCIManager(self.client)
result = cci.get_create_options()
show_all = True
for opt_name in self.options:
if args.get("--" + opt_name):
show_all = False
break
if args['--all']:
show_all = True
t = KeyValueTable(['Name', 'Value'])
t.align['Name'] = 'r'
t.align['Value'] = 'l'
if args['--datacenter'] or show_all:
datacenters = [dc['template']['datacenter']['name']
for dc in result['datacenters']]
t.add_row(['datacenter', listing(datacenters, separator=',')])
if args['--cpu'] or show_all:
standard_cpu = filter(
lambda x: not x['template'].get(
'dedicatedAccountHostOnlyFlag', False),
result['processors'])
ded_cpu = filter(
lambda x: x['template'].get(
'dedicatedAccountHostOnlyFlag', False),
result['processors'])
def cpus_row(c, name):
cpus = []
for x in c:
cpus.append(str(x['template']['startCpus']))
t.add_row(['cpus (%s)' % name, listing(cpus, separator=',')])
cpus_row(ded_cpu, 'private')
cpus_row(standard_cpu, 'standard')
if args['--memory'] or show_all:
memory = [
str(m['template']['maxMemory']) for m in result['memory']]
t.add_row(['memory', listing(memory, separator=',')])
if args['--os'] or show_all:
op_sys = [
o['template']['operatingSystemReferenceCode'] for o in
result['operatingSystems']]
op_sys = sorted(op_sys)
os_summary = set()
for o in op_sys:
os_summary.add(o[0:o.find('_')])
for summary in sorted(os_summary):
t.add_row([
'os (%s)' % summary,
linesep.join(sorted(filter(
lambda x: x[0:len(summary)] == summary, op_sys))
)
])
if args['--disk'] or show_all:
local_disks = filter(
lambda x: x['template'].get('localDiskFlag', False),
result['blockDevices'])
san_disks = filter(
lambda x: not x['template'].get('localDiskFlag', False),
result['blockDevices'])
def block_rows(blocks, name):
simple = {}
for block in blocks:
b = block['template']['blockDevices'][0]
bid = b['device']
size = b['diskImage']['capacity']
if bid not in simple:
simple[bid] = []
simple[bid].append(str(size))
for b in sorted(simple.keys()):
t.add_row([
'%s disk(%s)' % (name, b),
listing(simple[b], separator=',')]
)
block_rows(local_disks, 'local')
block_rows(san_disks, 'san')
if args['--nic'] or show_all:
speeds = []
for x in result['networkComponents']:
#.........这里部分代码省略.........