Exemple #1
0
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.")
Exemple #3
0
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
Exemple #4
0
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
Exemple #5
0
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
Exemple #6
0
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
Exemple #7
0
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
Exemple #8
0
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
Exemple #9
0
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
Exemple #10
0
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
Exemple #11
0
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
Exemple #12
0
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
Exemple #13
0
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
Exemple #14
0
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.")
Exemple #15
0
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
Exemple #16
0
    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.")