Esempio n. 1
0
 def build_entity(self):
     if 'login' not in self.param('permits'):
         self.param('permits').append('login')
     all_permits = self.get_all_permits()
     return otypes.Role(
         id=self.param('id'),
         name=self.param('name'),
         administrative=self.param('administrative') if self.param(
             'administrative') else None,
         permits=[
             otypes.Permit(id=all_permits.get(new_permit)) for new_permit in self.param('permits')
         ] if self.param('permits') else None,
         description=self.param('description') if self.param('administrative') else None,
     )
Esempio n. 2
0
 def check_permits():
     if self.param('permits'):
         if 'login' not in self.param('permits'):
             self.param('permits').append('login')
         permits_service = self._service.service(entity.id).permits_service()
         current = [er.name for er in permits_service.list()]
         passed = [pr for pr in self.param('permits')]
         if not sorted(current) == sorted(passed):
             if self._module.check_mode:
                 return False
             # remove all
             for permit in permits_service.list():
                 permits_service.permit_service(permit.id).remove()
             # add passed permits
             all_permits = self.get_all_permits()
             for new_permit in passed:
                 permits_service.add(otypes.Permit(id=all_permits.get(new_permit)))
             return False
     return True
Esempio n. 3
0
# Create the connection to the server:
connection = sdk.Connection(
    url='https://engine40.example.com/ovirt-engine/api',
    username='******',
    password='******',
    ca_file='ca.pem',
    debug=True,
    log=logging.getLogger(),
)

# Get the reference to the roles service:
roles_service = connection.system_service().roles_service()

# Use the "add" method to create new role (note that you need to pass
# permit id not the name, when creating new role):
role = roles_service.add(
    types.Role(
        name='myrole',
        administrative=False,
        description='My custom role to create virtual machines',
        permits=[
            # create_vm permit
            types.Permit(id='1'),
            # login permit
            types.Permit(id='1300'),
        ],
    ), )

# Close the connection to the server:
connection.close()