from os import environ as env import sys import json sys.path.append('k5lib') import k5lib # Create a log file k5lib.create_logfile('delete_network_connector.log') username = env['OS_USERNAME'] password = env['OS_PASSWORD'] domain = env['OS_USER_DOMAIN_NAME'] projectName = env['OS_PROJECT_NAME'] region = env['OS_REGION_NAME'] az = 'fi-1a' securityGroupId = '91630e71-2555-4dcb-a720-0dd3c643f478' networkId = '6809bf51-a224-4f16-a77e-754c3033b1b6' projectToken = k5lib.get_project_token(username, password, domain, projectName, region) projectId = k5lib.get_project_id(username, password, domain, projectName, region) connectors = k5lib.list_network_connectors(projectToken, region) print((json.dumps(connectors, indent=2))) # loop trough connectors and find ones with 'mhaNe' on name, then delete it request = connectors outputList = [] outputDict = request['network_connectors']
from os import environ as env import sys sys.path.append('k5lib') import k5lib username = env['OS_USERNAME'] password = env['OS_PASSWORD'] domain = env['OS_USER_DOMAIN_NAME'] # Create a log file k5lib.create_logfile('activate_region.log') globalToken = k5lib.get_global_token(username, password, domain) domainId = k5lib.get_domain_id(username, password, domain) regionId = 'fi-1' response = k5lib.activate_region(globalToken, domainId, regionId) print(response)
from os import environ as env import json import sys sys.path.append('k5lib') import k5lib # Create a log file k5lib.create_logfile('list_network_connectors.log') username = env['OS_USERNAME'] password = env['OS_PASSWORD'] domain = env['OS_USER_DOMAIN_NAME'] projectName = env['OS_PROJECT_NAME'] region = env['OS_REGION_NAME'] projectToken = k5lib.get_project_token(username, password, domain, projectName, region) network_connectors = k5lib.list_network_connectors(projectToken, region) print(json.dumps(network_connectors, indent=2))
from os import environ as env import json import sys sys.path.append('k5lib') import k5lib # Create a log file k5lib.create_logfile('list_ports.log') username = env['OS_USERNAME'] password = env['OS_PASSWORD'] domain = env['OS_USER_DOMAIN_NAME'] projectName = env['OS_PROJECT_NAME'] region = env['OS_REGION_NAME'] projectToken = k5lib.get_project_token(username, password, domain, projectName, region) ports = k5lib.list_ports(projectToken, region) print(json.dumps(ports, indent=2))
from os import environ as env import json import sys sys.path.append('k5lib') import k5lib # Create a log file k5lib.create_logfile('list_flavors.log') username = env['OS_USERNAME'] password = env['OS_PASSWORD'] domain = env['OS_USER_DOMAIN_NAME'] projectName = env['OS_PROJECT_NAME'] region = env['OS_REGION_NAME'] project_token = k5lib.get_project_token(username, password, domain, projectName, region) project_id = k5lib.get_project_id(username, password, domain, projectName, region) flavors = k5lib.list_flavors(project_token, region, project_id) print(json.dumps(flavors, indent=2))
import sys import argparse import json sys.path.append('k5lib') import k5lib username = env['OS_USERNAME'] password = env['OS_PASSWORD'] domain = env['OS_USER_DOMAIN_NAME'] region = env['OS_REGION_NAME'] projectname = env['OS_PROJECT_NAME'] # Create a log file k5lib.create_logfile('create_keypair.log') # Setup command line parser parser = argparse.ArgumentParser(description="Create keypair ") parser.add_argument("name", help="Name of the keypair") parser.add_argument("az", help="Name of availability zone eq fi-1a") args = parser.parse_args() keypair_name = args.name az_name = args.az privatekey = keypair_name + '_priv.pem' publickey = keypair_name + '_pub.pem' project_token = k5lib.get_project_token(username, password, domain, projectname, region) project_id = k5lib.get_project_id(username, password, domain, projectname, region)
from os import environ as env import sys sys.path.append('k5lib') import k5lib import logging import json username = env['OS_USERNAME'] password = env['OS_PASSWORD'] domain = env['OS_USER_DOMAIN_NAME'] region = env['OS_REGION_NAME'] # Create a log file k5lib.create_logfile('list_projects.log') regionToken = k5lib.get_region_token(username, password, domain, region) domainId = k5lib.get_domain_id(username, password, domain) project_list = k5lib.list_projects(regionToken, domainId, region) logging.info(json.dumps(project_list, indent=4)) print(json.dumps(project_list, indent=4))
from os import environ as env import sys import argparse import json sys.path.append('k5lib') import k5lib username = env['OS_USERNAME'] password = env['OS_PASSWORD'] domain = env['OS_USER_DOMAIN_NAME'] region = env['OS_REGION_NAME'] projectname = env['OS_PROJECT_NAME'] # Create a log file k5lib.create_logfile('import_keypair.log') # Setup command line parser parser = argparse.ArgumentParser(description="Create keypair ") parser.add_argument("name", help="Name of the keypair") parser.add_argument("az", help="Name of availability zone eq fi-1a") parser.add_argument("public_key_file", help="Public key file for import") args = parser.parse_args() keypair_name = args.name az_name = args.az project_token = k5lib.get_project_token(username, password, domain, projectname, region) project_id = k5lib.get_project_id(username, password, domain, projectname, region)
from os import environ as env import sys sys.path.append('k5lib') import k5lib import time username = env['OS_USERNAME'] password = env['OS_PASSWORD'] domain = env['OS_USER_DOMAIN_NAME'] region = env['OS_REGION_NAME'] projectName = env['OS_PROJECT_NAME'] networkName = 'foobar-network-' + k5lib.gen_passwd(6) az = 'fi-1a' cidr = '10.10.10.0/24' # Create a log file k5lib.create_logfile('create_subnet.log') projectToken = k5lib.get_project_token(username, password, domain, projectName, region) networkId = k5lib.create_network(projectToken, region, az, networkName) print(networkId) subnet = k5lib.create_subnet(projectToken, region, networkId, cidr, networkName + 'subnet', '4', az) #subnet = k5lib.create_subnet(projectToken, region, networkId, cidr, ) print(subnet)
from os import environ as env import sys sys.path.append('k5lib') import k5lib import argparse import logging import json # Create a log file k5lib.create_logfile('get_stack_info.log') username = env['OS_USERNAME'] password = env['OS_PASSWORD'] domain = env['OS_USER_DOMAIN_NAME'] projectName = env['OS_PROJECT_NAME'] region = env['OS_REGION_NAME'] # Setup command line parser parser = argparse.ArgumentParser(description="Get stack information ") parser.add_argument("stackname", help="Name of the stack") args = parser.parse_args() stackName = args.stackname projectToken = k5lib.get_project_token(username, password, domain, projectName, region) projectId = k5lib.get_project_id(username, password, domain, projectName, region) stack_id = k5lib.get_stack_id(projectToken, region, projectId, stackName) stackInfo = k5lib.get_stack_info(projectToken, projectId, region, stackName, stack_id)
from os import environ as env import sys sys.path.append('k5lib') import k5lib import logging import json import subprocess import argparse import os # Create a log file k5lib.create_logfile('get_server_password.log') # Setup command line parser parser = argparse.ArgumentParser(description="Get a password of server(s) ") parser.add_argument("keyfile", help="Private key file") parser.add_argument("server", nargs='?', help="Server name") parser.add_argument("-a", "--all", help="Get password of all servers on project", action="store_true") args = parser.parse_args() # setup enviroment username = env['OS_USERNAME'] password = env['OS_PASSWORD'] domain = env['OS_USER_DOMAIN_NAME'] projectName = env['OS_PROJECT_NAME'] region = env['OS_REGION_NAME'] # Init variables
######################################################################################################################## # # Names for components # vpn_service_name = 'vpn-service-' + postfix ike_policy_name = 'ike-policy-' + postfix ipsec_policy_name = 'ipsec-policy-' + postfix ipsec_connection_name = 'ipsec-connection-' + postfix ipsec_connection_name2 = 'ipsec-connection-2-' + postfix # # Create a log file # k5lib.create_logfile('create_ipsec_vpn_conection.log') # # Get token # project_token = k5lib.get_project_token(username, password, domain, projectName, region) # # log network & subnet & router ID:s # logging.info('network_id: ' + network_id) logging.info('subnet_id: ' + subnet_id) logging.info('router_id: ' + router_id) #
from os import environ as env import sys sys.path.append('k5lib') import k5lib # Create a log file k5lib.create_logfile('export_image.log') username = env['OS_USERNAME'] password = env['OS_PASSWORD'] domain = env['OS_USER_DOMAIN_NAME'] projectName = env['OS_PROJECT_NAME'] region = env['OS_REGION_NAME'] projectToken = k5lib.get_project_token(username, password, domain, projectName, region) projectId = k5lib.get_project_id(username, password, domain, projectName, region) imageId = '6bc44a2f-bc11-45e4-a578-4553c6b2f596' containerName = 'vmexport' exportId = k5lib.export_image(projectToken, region, projectId, imageId, containerName) print(exportId)
from os import environ as env import sys sys.path.append('k5lib') import k5lib import argparse import logging # Create a log file k5lib.create_logfile('share_image.log') username = env['OS_USERNAME'] password = env['OS_PASSWORD'] domain = env['OS_USER_DOMAIN_NAME'] sharing_project_name = env['OS_PROJECT_NAME'] region = env['OS_REGION_NAME'] # Setup command line parser parser = argparse.ArgumentParser( description="Share image from this project with other project") parser.add_argument("image_name", help="Name of the image to be shared") parser.add_argument( "project_name", help="Name of the project which image is to be shared with") args = parser.parse_args() # Authenticate into projects sharing_project_token = k5lib.get_project_token(username, password, domain, sharing_project_name, region) accepting_project_token = k5lib.get_project_token(username, password, domain, args.project_name, region)
from os import environ as env import sys sys.path.append('k5lib') import k5lib # Create a log file k5lib.create_logfile('get_image_import_queue_info.log') username = env['OS_USERNAME'] password = env['OS_PASSWORD'] domain = env['OS_USER_DOMAIN_NAME'] projectName = env['OS_PROJECT_NAME'] region = env['OS_REGION_NAME'] projectToken = k5lib.get_project_token(username, password, domain, projectName, region) queueInfo = k5lib.get_image_import_queue_status(projectToken, region) print(json.dumps(queueInfo, indent=2))
from os import environ as env import sys sys.path.append('k5lib') import k5lib # Create a log file k5lib.create_logfile('clone_vm.log') username = env['OS_USERNAME'] password = env['OS_PASSWORD'] domain = env['OS_USER_DOMAIN_NAME'] projectName = env['OS_PROJECT_NAME'] region = env['OS_REGION_NAME'] projectToken = k5lib.get_project_token(username, password, domain, projectName, region) projectId = k5lib.get_project_id(username, password, domain, projectName, region) volumeId = 'REPLACE WITH volumeId' imageName = 'mgmt_exported_OS' imageId = k5lib.clone_vm(projectToken, projectId, region, imageName, volumeId) print(imageId)
from os import environ as env import sys sys.path.append('k5lib') import k5lib # Create a log file k5lib.create_logfile('get_image_info.log') username = env['OS_USERNAME'] password = env['OS_PASSWORD'] domain = env['OS_USER_DOMAIN_NAME'] projectName = env['OS_PROJECT_NAME'] region = env['OS_REGION_NAME'] projectToken = k5lib.get_project_token(username, password, domain, projectName, region) projectId = k5lib.get_project_id(username, password, domain, projectName, region) imageId = 'REPLACE WITH image ID' containerName = 'vmexport' imageInfo = k5lib.get_image_info(projectToken, projectId, region, imageId) print(json.dumps(imageInfo, indent=4))
from os import environ as env import sys sys.path.append('k5lib') import k5lib username = env['OS_USERNAME'] password = env['OS_PASSWORD'] domain = env['OS_USER_DOMAIN_NAME'] region = env['OS_REGION_NAME'] projectName = env['OS_PROJECT_NAME'] networkName = 'foobar-network-' + k5lib.gen_passwd(6) az = 'fi-1a' # Create a log file k5lib.create_logfile('create_network.log') projectToken = k5lib.get_project_token(username, password, domain, projectName, region) network = k5lib.create_network(projectToken, region, az, networkName) print(network)
from os import environ as env import sys sys.path.append('k5lib') import k5lib # Create a log file k5lib.create_logfile('get_vnc_console.log') username = env['OS_USERNAME'] password = env['OS_PASSWORD'] domain = env['OS_USER_DOMAIN_NAME'] projectName = env['OS_PROJECT_NAME'] region = env['OS_REGION_NAME'] projectToken = k5lib.get_project_token(username, password, domain, projectName, region) projectId = k5lib.get_project_id(username, password, domain, projectName, region) serverId = 'REPLACE WITH SERVER ID' vncUrl = k5lib.get_vnc_console_url(projectToken, projectId, region, serverId) print(vncUrl)
from os import environ as env import sys sys.path.append('k5lib') import k5lib import argparse # Create a log file k5lib.create_logfile('create_stack.log') username = env['OS_USERNAME'] password = env['OS_PASSWORD'] domain = env['OS_USER_DOMAIN_NAME'] projectName = env['OS_PROJECT_NAME'] region = env['OS_REGION_NAME'] # Setup command line parser parser = argparse.ArgumentParser(description="Create stack from yaml template ") parser.add_argument("templatefile", help="Template") parser.add_argument("stackname", help="Name of the stack") args = parser.parse_args() templatefile = args.templatefile projectToken = k5lib.get_project_token(username, password, domain, projectName, region) projectId = k5lib.get_project_id(username, password, domain, projectName, region) stackName = args.stackname
cert = file.read() cert_uri = k5lib.create_key(projectToken, region, projectId, key_name, key=cert, expiration_date=datetime.datetime.now() + datetime.timedelta(days=3650), key_type='text/plain') print(cert_uri) return cert_uri # Create a log file k5lib.create_logfile('create_sslvpn2_certificates.log') username = env['OS_USERNAME'] password = env['OS_PASSWORD'] domain = env['OS_USER_DOMAIN_NAME'] projectName = env['OS_PROJECT_NAME'] region = env['OS_REGION_NAME'] # Setup command line parser parser = argparse.ArgumentParser( description="Create certificates for ssl vpn v2") parser.add_argument("ca", help="CA file in PEM format") parser.add_argument("server_cert", help="server certificate file in PEM format") parser.add_argument("server_key", help="server key file in PEM format") parser.add_argument("dh", help="diffie helman key file in PEM format")
from os import environ as env import sys import argparse sys.path.append('k5lib') import k5lib username = env['OS_USERNAME'] password = env['OS_PASSWORD'] domain = env['OS_USER_DOMAIN_NAME'] region = env['OS_REGION_NAME'] projectName = 'foobar_project' # Create a log file k5lib.create_logfile('create_project.log') # Setup command line parser parser = argparse.ArgumentParser(description="Create project ") parser.add_argument("project_name", help="Name of the project") args = parser.parse_args() project_Name = args.project_name regionToken = k5lib.get_region_token(username, password, domain, region) domainId = k5lib.get_domain_id(username, password, domain) newproject = k5lib.create_project(regionToken, domainId, region, project_Name) print(newproject)
from os import environ as env import sys sys.path.append('k5lib') import k5lib # Create a log file k5lib.create_logfile('get_defaultprojectid.log') username = env['OS_USERNAME'] password = env['OS_PASSWORD'] domain = env['OS_USER_DOMAIN_NAME'] domainId = k5lib.get_defaultproject_id(username, password, domain) print(domainId)
from os import environ as env import sys sys.path.append('k5lib') import k5lib import json # Create a log file k5lib.create_logfile('get_export_status.log') username = env['OS_USERNAME'] password = env['OS_PASSWORD'] domain = env['OS_USER_DOMAIN_NAME'] projectName = env['OS_PROJECT_NAME'] region = env['OS_REGION_NAME'] exportId = 'REPLACE with export job ID' projectToken = k5lib.get_project_token(username, password, domain, projectName, region) projectId = k5lib.get_project_id(username, password, domain, projectName, region) exportStatus = k5lib.get_export_status(projectToken, region, exportId) logging.info(json.dumps(exportStatus, indent=4)) print(json.dumps(exportStatus, indent=4))
from os import environ as env import sys import argparse sys.path.append('k5lib') import k5lib # Create a log file k5lib.create_logfile('get_project_id.log') username = env['OS_USERNAME'] password = env['OS_PASSWORD'] domain = env['OS_USER_DOMAIN_NAME'] projectName = env['OS_PROJECT_NAME'] region = env['OS_REGION_NAME'] # Setup command line parser parser = argparse.ArgumentParser(description="Get project ID ") parser.add_argument("project_name", help="Name of the project") args = parser.parse_args() project_Name = args.project_name projectId = k5lib.get_project_id(username, password, domain, project_Name, region) print(projectId)
from os import environ as env import sys import logging sys.path.append('k5lib') import k5lib username = env['OS_USERNAME'] password = env['OS_PASSWORD'] domain = env['OS_USER_DOMAIN_NAME'] region = env['OS_REGION_NAME'] projectName = env['OS_PROJECT_NAME'] securityGroupName = 'foobar-security-group-' + k5lib.gen_passwd(6) az = 'fi-1a' # Create a log file k5lib.create_logfile('create_security_group.log') project_token = k5lib.get_project_token(username, password, domain, projectName, region) securityGroupId = k5lib.create_security_group(project_token, region, securityGroupName, 'Testgroup' ) logging.info('Security group ID: ' + securityGroupId) print('Security group ID: ', securityGroupId) securityGroupRuleId = k5lib.create_security_group_rule(project_token, region, securityGroupId, 'ingress', 'IPv4', 'tcp', '8080', '8080', '0.0.0.0/0', None) logging.info('Security group rule ID: ' + securityGroupRuleId) print('Security group rule ID: ', securityGroupRuleId)
from os import environ as env import sys import json sys.path.append('k5lib') import k5lib # Create a log file k5lib.create_logfile('delete_network_connector_endpoint.log') username = env['OS_USERNAME'] password = env['OS_PASSWORD'] domain = env['OS_USER_DOMAIN_NAME'] projectName = env['OS_PROJECT_NAME'] region = env['OS_REGION_NAME'] az = 'fi-1a' securityGroupId = '91630e71-2555-4dcb-a720-0dd3c643f478' networkId ='6809bf51-a224-4f16-a77e-754c3033b1b6' projectToken = k5lib.get_project_token(username, password, domain, projectName, region) projectId = k5lib.get_project_id(username, password, domain, projectName, region) connector_endpoints = k5lib.list_network_connector_endpoints(projectToken, region) print((json.dumps(connector_endpoints, indent=2))) # loop trough connectors and find ones with 'mhaNe' on name, then delete it outputList = [] outputDict = connector_endpoints['network_connector_endpoints'] counter = 0
# Change these according your enviroment az = 'fi-1a' server_name = 'Dedicatet_server-' + k5lib.gen_passwd(6) flavor_name = 'S-2' keypair_name = 'keypair' security_group_name = 'default' image_name = 'Windows Server 2012 R2 SE 64bit (English) 02' disk_size = '100' network_name = 'network' ip = '10.10.10.10' ######################################################################################################################## # Actions .. ######################################################################################################################## # Create a log file k5lib.create_logfile('create_server.log') username = env['OS_USERNAME'] password = env['OS_PASSWORD'] domain = env['OS_USER_DOMAIN_NAME'] projectName = env['OS_PROJECT_NAME'] region = env['OS_REGION_NAME'] project_token = k5lib.get_project_token(username, password, domain, projectName, region) project_id = k5lib.get_project_id(username, password, domain, projectName, region) flavor_id = k5lib.get_flavor_id(project_token, region, project_id, flavor_name) image_id = k5lib.get_image_id(project_token, region, image_name) network_id = k5lib.get_network_id(project_token, region, network_name)
from os import environ as env import sys sys.path.append('k5lib') import k5lib import json import logging # Create a log file k5lib.create_logfile('get_region_info.log') username = env['OS_USERNAME'] password = env['OS_PASSWORD'] domain = env['OS_USER_DOMAIN_NAME'] globalToken = k5lib.get_global_token(username, password, domain) region_info = k5lib.get_region_info(globalToken, 'fi-1') logging.info(json.dumps(region_info, indent=4)) print(json.dumps(region_info, indent=4))
from os import environ as env import sys sys.path.append('k5lib') import k5lib # Create a log file k5lib.create_logfile('get_domainid.log') username = env['OS_USERNAME'] password = env['OS_PASSWORD'] domain = env['OS_USER_DOMAIN_NAME'] domainId = k5lib.get_domain_id(username, password, domain) print(domainId)