def present(self): ''' Handles state == 'present', creating or updating the secret ''' if self.secrets: secret = self.secrets[-1] self.results['secret_id'] = secret['ID'] self.results['secret_name'] = secret['Spec']['Name'] data_changed = False attrs = secret.get('Spec', {}) if attrs.get('Labels', {}).get('ansible_key'): if attrs['Labels']['ansible_key'] != self.data_key: data_changed = True else: if not self.force: self.client.module.warn("'ansible_key' label not found. Secret will not be changed unless the force parameter is set to 'yes'") labels_changed = not compare_generic(self.labels, attrs.get('Labels'), 'allow_more_present', 'dict') if self.rolling_versions: self.version = self.get_version(secret) if data_changed or labels_changed or self.force: # if something changed or force, delete and re-create the secret if not self.rolling_versions: self.absent() secret_id = self.create_secret() self.results['changed'] = True self.results['secret_id'] = secret_id self.results['secret_name'] = self.name else: self.results['changed'] = True self.results['secret_id'] = self.create_secret() self.results['secret_name'] = self.name
def present(self): ''' Handles state == 'present', creating or updating the config ''' config = self.get_config() if config: self.results['config_id'] = config['ID'] data_changed = False attrs = config.get('Spec', {}) if attrs.get('Labels', {}).get('ansible_key'): if attrs['Labels']['ansible_key'] != self.data_key: data_changed = True labels_changed = not compare_generic( self.labels, attrs.get('Labels'), 'allow_more_present', 'dict') if data_changed or labels_changed or self.force: # if something changed or force, delete and re-create the config self.absent() config_id = self.create_config() self.results['changed'] = True self.results['config_id'] = config_id else: self.results['changed'] = True self.results['config_id'] = self.create_config()
def present(self): ''' Handles state == 'present', creating or updating the config ''' if self.configs: config = self.configs[-1] self.results['config_id'] = config['ID'] self.results['config_name'] = config['Spec']['Name'] data_changed = False template_driver_changed = False attrs = config.get('Spec', {}) if attrs.get('Labels', {}).get('ansible_key'): if attrs['Labels']['ansible_key'] != self.data_key: data_changed = True else: if not self.force: self.client.module.warn( "'ansible_key' label not found. Config will not be changed unless the force parameter is set to 'yes'" ) # template_driver has changed if it was set in the previous config # and now it differs, or if it wasn't set but now it is. if attrs.get('Templating', {}).get('Name'): if attrs['Templating']['Name'] != self.template_driver: template_driver_changed = True elif self.template_driver: template_driver_changed = True labels_changed = not compare_generic( self.labels, attrs.get('Labels'), 'allow_more_present', 'dict') if self.rolling_versions: self.version = self.get_version(config) if data_changed or template_driver_changed or labels_changed or self.force: # if something changed or force, delete and re-create the config if not self.rolling_versions: self.absent() config_id = self.create_config() self.results['changed'] = True self.results['config_id'] = config_id self.results['config_name'] = self.name else: self.results['changed'] = True self.results['config_id'] = self.create_config() self.results['config_name'] = self.name
def test_compare_generic(entry): assert compare_generic(entry['a'], entry['b'], entry['method'], entry['type']) == entry['result']