User Tools

Site Tools


cloud:recipe:coding

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
cloud:recipe:coding [2020/05/14 14:06] – [Sample Configuration File] chudlercloud:recipe:coding [2020/05/14 18:32] (current) chudler
Line 48: Line 48:
 </code> </code>
  
-The main flaw here is that you are using your University credentials inappropriately. Instead, you can use the API or web interface to create an Application Credential.+The main flaw here is that you are taking risks by storing your University credentials in a file. Instead, you can use the API or web interface to create an Application Credential. For example, 
 + 
 +<code> 
 +openstack application credential create --secret sekret --role member --expiration 2020-10-10:10:10:10 --restricted myapp 
 +</code>
 =====Testing and Usage===== =====Testing and Usage=====
 Ensure you can load the python module Ensure you can load the python module
Line 67: Line 71:
 ======Demo Code====== ======Demo Code======
  
-The following code shows how to create and destroy a server, and obtain information about Networks, Images, and Flavors. Consult the [[ https://docs.openstack.org/openstacksdk/latest/user/index.html#api-documentation | API Resource Documentation ]] to see what else is possible.+The following Python code shows how to create and destroy a server, and obtain information about Networks, Images, and Flavors. Consult the [[ https://docs.openstack.org/openstacksdk/latest/user/index.html#api-documentation | API Resource Documentation ]] to see what else is possible.
  
-<code>+For your learning, contrast this with the equivalent actions that are taken in the [[ cloud:cli | Command Line Usage Guide ]]. 
 + 
 +<code Python>
  
 import openstack import openstack
 from openstack.config import loader from openstack.config import loader
 +# to enable debug logging
 # openstack.enable_logging(True) # openstack.enable_logging(True)
 config = loader.OpenStackConfig() config = loader.OpenStackConfig()
Line 79: Line 86:
 # print(flavor.name) # print(flavor.name)
 image = cloud.get_image('20.04') image = cloud.get_image('20.04')
 +# pretty print
 # cloud.pprint(image) # cloud.pprint(image)
-# network = cloud.network.find_network('campus37') 
 network = cloud.get_network('campus37') network = cloud.get_network('campus37')
-# cloud.pprint(network) 
 try: try:
     server = cloud.create_server('myserver', image=image, flavor=flavor, network=network, wait=True, auto_ip=True)     server = cloud.create_server('myserver', image=image, flavor=flavor, network=network, wait=True, auto_ip=True)
-    # cloud.pprint(server) 
-    # cloud.pprint(cloud.get_server('myserver', detailed=False)) 
-    cloud.pprint(cloud.get_server('myserver', bare=True)) 
 finally: finally:
     cloud.delete_server('myserver', wait=True, delete_ips=True)     cloud.delete_server('myserver', wait=True, delete_ips=True)
 </code> </code>
/var/lib/dokuwiki/data/attic/cloud/recipe/coding.1589483201.txt.gz · Last modified: 2020/05/14 14:06 by chudler

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki