def main(): module = AnsibleModule(argument_spec=dict( state=dict(choices=['present', 'absent'], default='present'), token=dict(type='str', no_log=True), ), supports_check_mode=True) state = module.params.get('state') if module.params['token']: token = module.params['token'] else: token = os.environ.get('SEL_TOKEN') url = os.environ.get('SEL_URL') # Configure REST client try: http_client = setup_http_client(url, api_token=token, custom_headers=custom_user_agent) client = Client(http_client) except Exception: module.fail_json(msg="No token given") if module.check_mode: module.exit_json(changed=False) if state == 'present': try: result = client.capabilities.get() except ClientException as exp: module.fail_json(msg=str(exp)) module.exit_json(result=result._info) module.fail_json(msg="Wrong 'state' param for 'capabilities' operation.")
def main(): module = AnsibleModule(argument_spec=dict(state=dict( choices=['present', 'absent'], default='present'), token=dict(type='str', no_log=True), list=dict(type='bool', default=False), project_name=dict(type='str'), project_id=dict(type='str'), licenses=dict(type='list'), license_id=dict(type='str'), detailed=dict(type='bool', default=False), force=dict(type='bool', default=False)), supports_check_mode=True) project_id = module.params.get('project_id') state = module.params.get('state') show_list = module.params.get('list') licenses = module.params.get('licenses') license_id = module.params.get('license_id') detailed = module.params.get('detailed') project_name = module.params.get('project_name') force = module.params.get('force') if module.params['token']: token = module.params['token'] else: token = os.environ.get('SEL_TOKEN') url = os.environ.get('SEL_URL') # Configure REST client try: http_client = setup_http_client(url, api_token=token, custom_headers=custom_user_agent) client = Client(http_client) except Exception: module.fail_json(msg="No token given") if module.check_mode: module.exit_json(changed=_system_state_change(module, client)) if state == "absent" and license_id: lic.delete_license(module, client, license_id) if state == "present": if licenses and (project_id or project_name): lic.add_licenses(module, client, project_id, project_name, licenses, force) if license_id and not show_list or show_list: lic.get_licenses(module, client, license_id, detailed, show_list=show_list) module.fail_json(msg="No params for 'licenses' operations.")
def CreateUser(name, password): http_client = setup_http_client(api_url=VPC_URL, api_token='G7MeHkggaaQDV6DP8ZQx8S3Dp_82142') selvpc = Client(client=http_client) try: user=selvpc.users.create(name,password,enabled=True,return_raw=True) return user except: return -1
def CreateProject(name,quotas): http_client = setup_http_client(api_url=VPC_URL, api_token='G7MeHkggaaQDV6DP8ZQx8S3Dp_82142') selvpc = Client(client=http_client) if quotas=='0': project1 = selvpc.projects.create(name,return_raw=True) else: project1 = selvpc.projects.create(name,quotas,return_raw=True) return project1
def DeleteUser(id): http_client = setup_http_client(api_url=VPC_URL, api_token='G7MeHkggaaQDV6DP8ZQx8S3Dp_82142') selvpc = Client(client=http_client) try: user=selvpc.users.delete(id) return user except: return -1
def DeleteProject(id): http_client = setup_http_client(api_url=VPC_URL, api_token='G7MeHkggaaQDV6DP8ZQx8S3Dp_82142') selvpc = Client(client=http_client) try: project1 = selvpc.projects.delete(id) return project1 except: return -1
def Add_Subset(name, subnet): http_client = setup_http_client(api_url=VPC_URL, api_token='G7MeHkggaaQDV6DP8ZQx8S3Dp_82142') selvpc = Client(client=http_client) project=selvpc.projects.list() for l in project: if l['name']==name: answer=l.add_subnet(subnet,return_raw=True) return answer; return -1
def Add_Ip(name, ip): http_client = setup_http_client(api_url=VPC_URL, api_token='G7MeHkggaaQDV6DP8ZQx8S3Dp_82142') selvpc = Client(client=http_client) project=selvpc.projects.list() for l in project: if l['name']==name: answer=l.add_floating_ips(ip, return_raw=True)[0] return answer; return -1
def Delete_Ip(ip): http_client = setup_http_client(api_url=VPC_URL, api_token='G7MeHkggaaQDV6DP8ZQx8S3Dp_82142') selvpc = Client(client=http_client) try: answer=selvpc.floatingips.delete(ip['id'],return_raw=True) return answer except: return -1
def Delete_Project(project): http_client = setup_http_client(api_url=VPC_URL, api_token='G7MeHkggaaQDV6DP8ZQx8S3Dp_82142') selvpc = Client(client=http_client) try: answer=selvpc.projects.delete(project['id']) return answer except: return -1
def Delete_Subset(subnet): http_client = setup_http_client(api_url=VPC_URL, api_token='G7MeHkggaaQDV6DP8ZQx8S3Dp_82142') selvpc = Client(client=http_client) try: answer=selvpc.subnets.delete(subnet['id'],return_raw=True) return answer except: return -1
def Add_user_in_project(id,name): http_client = setup_http_client(api_url=VPC_URL, api_token='G7MeHkggaaQDV6DP8ZQx8S3Dp_82142') selvpc = Client(client=http_client) user = selvpc.users.list() for i in user: if i['name']==name: user=i.add_to_project(id,return_raw=True) return user else: return -1
def UpdateQoatas(Qoates): REGION = "ru-1" ZONE = "ru-1a" http_client = setup_http_client( api_url=VPC_URL, api_token='G7MeHkggaaQDV6DP8ZQx8S3Dp_82142') selvpc = Client(client=http_client) Quatas = project.update_quotas(Qoates) return Quatas
def main(): module = AnsibleModule(argument_spec=dict(state=dict( choices=['present', 'absent'], default='present'), token=dict(type='str', no_log=True), project_id=dict(type='str'), user_id=dict(type='str'), roles=dict(type='list'), project_name=dict(type='str')), supports_check_mode=True) project_id = module.params.get('project_id') state = module.params.get('state') user_id = module.params.get('user_id') roles = module.params.get('roles') project_name = module.params.get('project_name') if module.params['token']: token = module.params['token'] else: token = os.environ.get('SEL_TOKEN') url = os.environ.get('SEL_URL') # Configure REST client try: http_client = setup_http_client(url, api_token=token, custom_headers=custom_user_agent) client = Client(http_client) except Exception: module.fail_json(msg="No token given") if module.check_mode: module.exit_json(changed=_system_state_change(module, client)) if state == 'absent' and (project_id or project_name) and user_id: r.delete_role(module, client, project_id, project_name, user_id) if state == 'present': if user_id and (project_id or project_name): r.add_role(module, client, project_id, project_name, user_id) if roles: r.add_bulk_roles(module, client, roles) if user_id: r.get_user_roles(module, client, user_id) if project_id or project_name: r.get_project_roles(module, client, project_id, project_name) module.fail_json(msg="No params for 'roles' operations.")
def UpdateQoatas(name,Qoates): REGION = "ru-1" ZONE = "ru-1a" http_client = setup_http_client(api_url=VPC_URL, api_token='G7MeHkggaaQDV6DP8ZQx8S3Dp_82142') selvpc = Client(client=http_client) project=selvpc.projects.list() for l in project: if l['name']==name: quotas=l.update_quotas(Qoates) return quotas return -1
def prepare_to_run_command(self, cmd): if cmd.cmd_name == 'complete': return if not self.options.url: logger.error("argument --url is required") sys.exit(1) headers = None if self.options.header: headers = parse_headers(self.options.header) http_client = setup_http_client(api_url=self.options.url, api_version=self.options.api_version, api_token=self.options.token, custom_headers=headers) self.context = dict(client=Client(client=http_client))
def main(): module = AnsibleModule(argument_spec=dict( state=dict(choices=['present', 'absent'], default='present'), token=dict(type='str', no_log=True), free=dict(type='bool', default=False), ), supports_check_mode=True) if module.params['token']: token = module.params['token'] else: token = os.environ.get('SEL_TOKEN') url = os.environ.get('SEL_URL') # Configure REST client try: http_client = setup_http_client(url, api_token=token, custom_headers=custom_user_agent) client = Client(http_client) except Exception: module.fail_json(msg="No token given") state = module.params.get('state') free = module.params.get('free') if module.check_mode: module.exit_json(changed=False) if state == "present": if free: get_free_domain_quotas(module, client) get_domain_quotas(module, client) if state == "absent": module.fail_json(msg="Wrong state for 'selvpc_limits' operations.") module.fail_json(msg="No params for 'selvpc_limits' operations.")