def index(self, keystone_id, **kw): LOG.debug('Start orders on_get ' 'for tenant-ID {0}:'.format(keystone_id)) result = self.order_repo \ .get_by_create_date(keystone_id, offset_arg=kw.get('offset', 0), limit_arg=kw.get('limit', None), suppress_exception=True) orders, offset, limit, total = result if not orders: orders_resp_overall = {'orders': [], 'total': total} else: orders_resp = [ hrefs.convert_to_hrefs(keystone_id, o.to_dict_fields()) for o in orders ] orders_resp_overall = hrefs.add_nav_hrefs('orders', keystone_id, offset, limit, total, {'orders': orders_resp}) orders_resp_overall.update({'total': total}) return orders_resp_overall
def index(self, keystone_id): order = self.repo.get(entity_id=self.order_id, keystone_id=keystone_id, suppress_exception=True) if not order: _order_not_found() return hrefs.convert_to_hrefs(keystone_id, order.to_dict_fields())
def index(self, keystone_id, **kw): LOG.debug('Start secrets on_get ' 'for tenant-ID {0}:'.format(keystone_id)) name = kw.get('name', '') if name: name = urllib.unquote_plus(name) bits = kw.get('bits', 0) try: bits = int(bits) except ValueError: # as per Github issue 171, if bits is invalid then # the default should be used. bits = 0 result = self.secret_repo.get_by_create_date( keystone_id, offset_arg=kw.get('offset', 0), limit_arg=kw.get('limit', None), name=name, alg=kw.get('alg'), mode=kw.get('mode'), bits=bits, suppress_exception=True ) secrets, offset, limit, total = result if not secrets: secrets_resp_overall = {'secrets': [], 'total': total} else: secret_fields = lambda s: mime_types\ .augment_fields_with_content_types(s) secrets_resp = [ hrefs.convert_to_hrefs(keystone_id, secret_fields(s)) for s in secrets ] secrets_resp_overall = hrefs.add_nav_hrefs( 'secrets', keystone_id, offset, limit, total, {'secrets': secrets_resp} ) secrets_resp_overall.update({'total': total}) return secrets_resp_overall
def index(self, keystone_id, **kwargs): secret = self.repos.secret_repo.get(entity_id=self.secret_id, keystone_id=keystone_id, suppress_exception=True) if not secret: _secret_not_found() if controllers.is_json_request_accept(pecan.request): # Metadata-only response, no secret retrieval is necessary. pecan.override_template('json', 'application/json') secret_fields = putil.mime_types.augment_fields_with_content_types( secret) transport_key_needed = kwargs.get('transport_key_needed', 'false').lower() == 'true' if transport_key_needed: transport_key_id = plugin.get_transport_key_id_for_retrieval( secret) if transport_key_id is not None: secret_fields['transport_key_id'] = transport_key_id return hrefs.convert_to_hrefs(secret_fields) else: tenant = res.get_or_create_tenant(keystone_id, self.repos.tenant_repo) pecan.override_template('', pecan.request.accept.header_value) transport_key = None twsk = kwargs.get('trans_wrapped_session_key', None) if twsk is not None: transport_key_id = kwargs.get('transport_key_id', None) if transport_key_id is None: _request_has_twsk_but_no_transport_key_id() transport_key_model = self.repos.transport_key_repo.get( entity_id=transport_key_id, suppress_exception=True) transport_key = transport_key_model.transport_key return plugin.get_secret(pecan.request.accept.header_value, secret, tenant, twsk, transport_key)
def index(self, keystone_id): secret = self.repo.get(entity_id=self.secret_id, keystone_id=keystone_id, suppress_exception=True) if not secret: _secret_not_found() if controllers.is_json_request_accept(pecan.request): # Metadata-only response, no decryption necessary. pecan.override_template('json', 'application/json') secret_fields = mime_types.augment_fields_with_content_types( secret) return hrefs.convert_to_hrefs(keystone_id, secret_fields) else: tenant = res.get_or_create_tenant(keystone_id, self.tenant_repo) pecan.override_template('', pecan.request.accept.header_value) return self.crypto_manager.decrypt( pecan.request.accept.header_value, secret, tenant )