def create_payload(self, name='', description='', inventory=Inventory, credential=None, source_script=None, **kwargs): credential, source_script = filter_by_class((credential, Credential), (source_script, InventoryScript)) self.create_and_update_dependencies(inventory, credential, source_script) credential = self.ds.credential if credential else None payload = self.payload(inventory=self.ds.inventory, credential=credential, name=name, description=description, **kwargs) payload.ds = DSAdapter(self.__class__.__name__, self._dependency_store) return payload
def create_payload(self, name='', organization=Organization, **kwargs): self.create_and_update_dependencies(organization) payload = self.payload(name=name, organization=self.ds.organization, **kwargs) payload.ds = DSAdapter(self.__class__.__name__, self._dependency_store) return payload
def create_payload(self, organization=Organization, **kwargs): self.create_and_update_dependencies(*filter_by_class((organization, Organization))) organization = self.ds.organization if organization else None payload = self.payload(organization=organization, **kwargs) payload.ds = DSAdapter(self.__class__.__name__, self._dependency_store) return payload
def create_payload( self, name='', description='', source='custom', inventory=Inventory, credential=None, source_script=InventoryScript, project=None, **kwargs ): if source != 'custom' and source_script == InventoryScript: source_script = None if source == 'scm': kwargs.setdefault('overwrite_vars', True) if project is None: project = Project inventory, credential, source_script, project = filter_by_class( (inventory, Inventory), (credential, Credential), (source_script, InventoryScript), (project, Project) ) self.create_and_update_dependencies(inventory, credential, source_script, project) if credential: credential = self.ds.credential if source_script: source_script = self.ds.inventory_script if project: project = self.ds.project payload = self.payload( inventory=self.ds.inventory, source=source, credential=credential, source_script=source_script, project=project, name=name, description=description, **kwargs ) payload.ds = DSAdapter(self.__class__.__name__, self._dependency_store) return payload
def create_payload(self, name='', description='', job_type='run', playbook='ping.yml', credential=Credential, inventory=Inventory, project=None, **kwargs): if not project: project = Project if not inventory and not kwargs.get('ask_inventory_on_launch', False): inventory = Inventory self.create_and_update_dependencies( *filter_by_class((credential, Credential), (inventory, Inventory), (project, Project))) project = self.ds.project if project else None inventory = self.ds.inventory if inventory else None credential = self.ds.credential if credential else None payload = self.payload(name=name, description=description, job_type=job_type, playbook=playbook, credential=credential, inventory=inventory, project=project, **kwargs) payload.ds = DSAdapter(self.__class__.__name__, self._dependency_store) return payload, credential
def create_payload(self, oauth_2_application=None, **kwargs): self.create_and_update_dependencies( *filter_by_class((oauth_2_application, OAuth2Application))) oauth_2_application = self.ds.oauth_2_application if oauth_2_application else None payload = self.payload(oauth_2_application=oauth_2_application, **kwargs) payload.ds = DSAdapter(self.__class__.__name__, self._dependency_store) return payload
def create_payload(self, name='', organization=Organization, credential=None, **kwargs): self.create_and_update_dependencies(*filter_by_class((credential, Credential), (organization, Organization))) credential = self.ds.credential if credential else None organization = self.ds.organization if organization else None payload = self.payload(name=name, organization=organization, credential=credential, **kwargs) payload.ds = DSAdapter(self.__class__.__name__, self._dependency_store) return payload
def create_payload(self, workflow_job_template=WorkflowJobTemplate, unified_job_template=JobTemplate, **kwargs): if not unified_job_template: self.create_and_update_dependencies(workflow_job_template) payload = self.payload(workflow_job_template=self.ds.workflow_job_template, unified_job_template=None, **kwargs) else: self.create_and_update_dependencies(workflow_job_template, unified_job_template) payload = self.payload(workflow_job_template=self.ds.workflow_job_template, unified_job_template=self.ds.unified_job_template, **kwargs) payload.ds = DSAdapter(self.__class__.__name__, self._dependency_store) return payload
def create_payload(self, module_name='ping', module_args=np, job_type=np, limit=np, verbosity=np, inventory=Inventory, credential=Credential, **kwargs): self.create_and_update_dependencies(inventory, credential) payload = self.payload(module_name=module_name, module_args=module_args, job_type=job_type, limit=limit, verbosity=verbosity, inventory=self.ds.inventory, credential=self.ds.credential, **kwargs) payload.ds = DSAdapter(self.__class__.__name__, self._dependency_store) return payload
def create_payload( self, credential_type=CredentialType, user=None, team=None, organization=Organization, inputs=None, **kwargs): if isinstance(credential_type, int): # if an int was passed, it is assumed to be the pk id of a # credential type credential_type = CredentialTypes( self.connection).get(id=credential_type).results.pop() if credential_type == CredentialType: kind = kwargs.pop('kind', 'ssh') if kind in ('openstack', 'openstack_v3'): credential_type_name = 'OpenStack' if inputs is None: if kind == 'openstack_v3': inputs = config.credentials.cloud['openstack_v3'] else: inputs = config.credentials.cloud['openstack'] else: credential_type_name = config_kind_to_credential_type_name_map[kind] credential_type = CredentialTypes( self.connection).get( managed_by_tower=True, name__icontains=credential_type_name).results.pop() credential_type, organization, user, team = filter_by_class( (credential_type, CredentialType), (organization, Organization), (user, User), (team, Team)) if not any((user, team, organization)): organization = Organization self.create_and_update_dependencies( credential_type, organization, user, team) user = self.ds.user if user else None team = self.ds.team if team else None organization = self.ds.organization if organization else None payload = self.payload( self.ds.credential_type, user=user, team=team, organization=organization, inputs=inputs, **kwargs) payload.ds = DSAdapter(self.__class__.__name__, self._dependency_store) return payload
def create_payload(self, name='', description='', inventory=Inventory, credential=None, **kwargs): self.create_and_update_dependencies(inventory, credential) credential = self.ds.credential if credential else None payload = self.payload(inventory=self.ds.inventory, credential=credential, name=name, description=description, **kwargs) payload.ds = DSAdapter(self.__class__.__name__, self._dependency_store) return payload
def create_payload(self, name='', description='', variables=None, inventory=Inventory, **kwargs): self.create_and_update_dependencies(*filter_by_class((inventory, Inventory))) payload = self.payload(inventory=self.ds.inventory, name=name, description=description, variables=variables, **kwargs) payload.ds = DSAdapter(self.__class__.__name__, self._dependency_store) return payload
def create_payload( self, name='', description='', scm_type='git', scm_url='', scm_branch='', organization=Organization, credential=None, **kwargs): if credential: if isinstance(credential, Credential): if credential.ds.credential_type.namespace not in ( 'scm', 'insights'): credential = None # ignore incompatible credential from HasCreate dependency injection elif credential in (Credential,): credential = ( Credential, dict( credential_type=( True, dict( kind='scm')))) elif credential is True: credential = ( Credential, dict( credential_type=( True, dict( kind='scm')))) self.create_and_update_dependencies( *filter_by_class((credential, Credential), (organization, Organization))) credential = self.ds.credential if credential else None organization = self.ds.organization if organization else None payload = self.payload( organization=organization, scm_type=scm_type, name=name, description=description, scm_url=scm_url, scm_branch=scm_branch, credential=credential, **kwargs) payload.ds = DSAdapter(self.__class__.__name__, self._dependency_store) return payload
def create_payload(self, name='', description='', notification_type='slack', organization=Organization, **kwargs): if notification_type not in notification_types: raise ValueError( 'Unsupported notification type "{0}". Please use one of {1}.'. format(notification_type, notification_types)) self.create_and_update_dependencies(organization) payload = self.payload(organization=self.ds.organization, notification_type=notification_type, name=name, description=description, **kwargs) payload.ds = DSAdapter(self.__class__.__name__, self._dependency_store) return payload
def create_payload(self, username='', password='', **kwargs): payload = self.payload(username=username, password=password, **kwargs) payload.ds = DSAdapter(self.__class__.__name__, self._dependency_store) return payload
def create_payload(self, kind='cloud', **kwargs): payload = self.payload(kind=kind, **kwargs) payload.ds = DSAdapter(self.__class__.__name__, self._dependency_store) return payload
def create_payload(self, name='', description='', **kwargs): payload = self.payload(name=name, description=description, **kwargs) payload.ds = DSAdapter(self.__class__.__name__, self._dependency_store) return payload