Merge "Use OutputDefinition to generate attributes schema"

This commit is contained in:
Zuul 2018-11-27 10:59:52 +00:00 committed by Gerrit Code Review
commit 3c86a75834
3 changed files with 6 additions and 8 deletions

View File

@ -200,11 +200,9 @@ class Attributes(collections.Mapping):
return outp
@staticmethod
def schema_from_outputs(json_snippet):
if json_snippet:
return dict((k, Schema(v.get("Description")))
for k, v in json_snippet.items())
return {}
def schema_from_outputs(outputs):
return dict((o.name, Schema(o.description()))
for o in outputs.values())
def _validate_type(self, attrib, value):
if attrib.schema.type == attrib.schema.STRING:

View File

@ -92,8 +92,8 @@ class StackResource(resource.Resource):
return "nested_stack"
def _outputs_to_attribs(self, json_snippet):
outputs = json_snippet.get('Outputs')
def _outputs_to_attribs(self, parsed_template):
outputs = parsed_template.outputs(None)
if not self.attributes and outputs:
self.attributes_schema = (
attributes.Attributes.schema_from_outputs(outputs))

View File

@ -108,7 +108,7 @@ class TemplateResource(stack_resource.StackResource):
return ((properties.Properties.schema_from_params(
tmpl.param_schemata(param_defaults))),
(attributes.Attributes.schema_from_outputs(
tmpl[tmpl.OUTPUTS])))
tmpl.outputs(None))))
def _generate_schema(self):
self._parsed_nested = None