The Body, Header, URI and Computed field types are not values in their own right: rather, they are indicators of where the real values will come from. At some point, we should probably make better use of type annotations but for now, modify things so that 'openstack.resource.Body' et al are functions that return 'Any' and don't conflict with explicit type annotations. This allows us to change some of the attributes of the base resource - namely the 'name' and 'location' fields - to reflect their "real" types. Change-Id: Ia771d18cf6d8d72dbf995418166e996515f5d52c Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
44 lines
1.4 KiB
Python
44 lines
1.4 KiB
Python
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
# not use this file except in compliance with the License. You may obtain
|
|
# a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations
|
|
# under the License.
|
|
|
|
from openstack import resource
|
|
|
|
|
|
class StackFiles(resource.Resource):
|
|
base_path = "/stacks/%(stack_name)s/%(stack_id)s/files"
|
|
|
|
# capabilities
|
|
allow_create = False
|
|
allow_list = False
|
|
allow_fetch = True
|
|
allow_delete = False
|
|
allow_commit = False
|
|
|
|
# Properties
|
|
#: Name of the stack where the template is referenced.
|
|
name = resource.URI('stack_name')
|
|
# Backwards compat
|
|
stack_name = name
|
|
#: ID of the stack where the template is referenced.
|
|
id = resource.URI('stack_id')
|
|
# Backwards compat
|
|
stack_id = id
|
|
|
|
def fetch(
|
|
self, session, requires_id=False, base_path=None, *args, **kwargs
|
|
):
|
|
# The stack files response contains a map of filenames and file
|
|
# contents.
|
|
request = self._prepare_request(requires_id=False, base_path=base_path)
|
|
resp = session.get(request.url)
|
|
return resp.json()
|