11"""View and Order a quote"""
22# :license: MIT, see LICENSE for more details.
33import click
4- import json
54
65from SoftLayer .CLI import environment
7- from SoftLayer .CLI import exceptions
86from SoftLayer .CLI import formatting
97from SoftLayer .CLI import helpers
8+ from SoftLayer .managers import ImageManager as ImageManager
109from SoftLayer .managers import ordering
11- from SoftLayer .utils import lookup , clean_time
12-
13-
14-
15- from pprint import pprint as pp
10+ from SoftLayer .managers import SshKeyManager as SshKeyManager
1611
1712
1813def _parse_create_args (client , args ):
@@ -38,27 +33,30 @@ def _parse_create_args(client, args):
3833
3934 if args .get ('image' ):
4035 if args .get ('image' ).isdigit ():
41- image_mgr = SoftLayer . ImageManager (client )
36+ image_mgr = ImageManager (client )
4237 image_details = image_mgr .get_image (args .get ('image' ), mask = "id,globalIdentifier" )
43- data ['image_id ' ] = image_details ['globalIdentifier' ]
38+ data ['imageTemplateGlobalIdentifier ' ] = image_details ['globalIdentifier' ]
4439 else :
45- data ['image_id ' ] = args ['image' ]
40+ data ['imageTemplateGlobalIdentifier ' ] = args ['image' ]
4641
42+ userdata = None
4743 if args .get ('userdata' ):
48- data [ ' userdata' ] = args ['userdata' ]
44+ userdata = args ['userdata' ]
4945 elif args .get ('userfile' ):
5046 with open (args ['userfile' ], 'r' ) as userfile :
51- data ['userdata' ] = userfile .read ()
47+ userdata = userfile .read ()
48+ if userdata :
49+ for hardware in data ['hardware' ]:
50+ hardware ['userData' ] = [{'value' : userdata }]
5251
5352 # Get the SSH keys
5453 if args .get ('key' ):
5554 keys = []
5655 for key in args .get ('key' ):
57- resolver = SoftLayer . SshKeyManager (client ).resolve_ids
56+ resolver = SshKeyManager (client ).resolve_ids
5857 key_id = helpers .resolve_id (resolver , key , 'SshKey' )
5958 keys .append (key_id )
60- data ['ssh_keys' ] = keys
61-
59+ data ['sshKeys' ] = keys
6260
6361 return data
6462
@@ -113,8 +111,5 @@ def cli(env, quote, **args):
113111 table .align ['value' ] = 'l'
114112 table .add_row (['id' , result ['orderId' ]])
115113 table .add_row (['created' , result ['orderDate' ]])
116- table .add_row (['status' , result ['placedOrder' ]['status' ]])
114+ table .add_row (['status' , result ['placedOrder' ]['status' ]])
117115 env .fout (table )
118-
119-
120-
0 commit comments