def index(self, keystone_id, **kw): LOG.debug('Start transport_keys on_get') plugin_name = kw.get('plugin_name', None) if plugin_name is not None: plugin_name = urllib.unquote_plus(plugin_name) result = self.repo.get_by_create_date( plugin_name=plugin_name, offset_arg=kw.get('offset', 0), limit_arg=kw.get('limit', None), suppress_exception=True ) transport_keys, offset, limit, total = result if not transport_keys: transport_keys_resp_overall = {'transport_keys': [], 'total': total} else: transport_keys_resp = [ hrefs.convert_transport_key_to_href(keystone_id, s.id) for s in transport_keys ] transport_keys_resp_overall = hrefs.add_nav_hrefs( 'transport_keys', keystone_id, offset, limit, total, {'transport_keys': transport_keys_resp} ) transport_keys_resp_overall.update({'total': total}) return transport_keys_resp_overall
def index(self, keystone_id, **kw): LOG.debug('Start transport_keys on_get') plugin_name = kw.get('plugin_name', None) if plugin_name is not None: plugin_name = urllib.unquote_plus(plugin_name) result = self.repo.get_by_create_date(plugin_name=plugin_name, offset_arg=kw.get('offset', 0), limit_arg=kw.get('limit', None), suppress_exception=True) transport_keys, offset, limit, total = result if not transport_keys: transport_keys_resp_overall = { 'transport_keys': [], 'total': total } else: transport_keys_resp = [ hrefs.convert_transport_key_to_href(keystone_id, s.id) for s in transport_keys ] transport_keys_resp_overall = hrefs.add_nav_hrefs( 'transport_keys', keystone_id, offset, limit, total, {'transport_keys': transport_keys_resp}) transport_keys_resp_overall.update({'total': total}) return transport_keys_resp_overall
def on_post(self, keystone_id, **kwargs): LOG.debug('Start on_post for tenant-ID %s:...', keystone_id) data = api.load_body(pecan.request, validator=self.validator) tenant = res.get_or_create_tenant(keystone_id, self.repos.tenant_repo) transport_key_needed = data.get('transport_key_needed', 'false').lower() == 'true' new_secret, transport_key_model = plugin.store_secret( data.get('payload'), data.get('payload_content_type', 'application/octet-stream'), data.get('payload_content_encoding'), data, None, tenant, self.repos, transport_key_needed=transport_key_needed, transport_key_id=data.get('transport_key_id')) pecan.response.status = 201 pecan.response.headers['Location'] = '/secrets/{0}'.format( new_secret.id ) url = hrefs.convert_secret_to_href(new_secret.id) LOG.debug('URI to secret is %s', url) if transport_key_model is not None: tkey_url = hrefs.convert_transport_key_to_href( transport_key_model.id) return {'secret_ref': url, 'transport_key_ref': tkey_url} else: return {'secret_ref': url}
def on_post(self, keystone_id): LOG.debug('Start transport_keys on_post') # TODO(alee) POST should determine the plugin name and call the # relevant get_transport_key() call. We will implement this once # we figure out how the plugins will be enumerated. data = api.load_body(pecan.request, validator=self.validator) new_key = models.TransportKey(data.get('plugin_name'), data.get('transport_key')) self.repo.create_from(new_key) pecan.response.status = 201 pecan.response.headers['Location'] = '/{0}/transport_keys/{1}'.format( keystone_id, new_key.id) url = hrefs.convert_transport_key_to_href(keystone_id, new_key.id) LOG.debug('URI to transport key is {0}'.format(url)) return {'transport_key_ref': url}
def on_post(self, keystone_id, **kwargs): LOG.debug('Start transport_keys on_post') # TODO(alee) POST should determine the plugin name and call the # relevant get_transport_key() call. We will implement this once # we figure out how the plugins will be enumerated. data = api.load_body(pecan.request, validator=self.validator) new_key = models.TransportKey(data.get('plugin_name'), data.get('transport_key')) self.repo.create_from(new_key) pecan.response.status = 201 pecan.response.headers['Location'] = '/{0}/transport_keys/{1}'.format( keystone_id, new_key.id ) url = hrefs.convert_transport_key_to_href(keystone_id, new_key.id) LOG.debug('URI to transport key is {0}'.format(url)) return {'transport_key_ref': url}