Bug 1042237

Summary: [RFE][heat]: Use outputs from one stack as inputs to non nested stack
Product: Red Hat OpenStack Reporter: RHOS Integration <rhos-integ>
Component: RFEsAssignee: RHOS Maint <rhos-maint>
Status: CLOSED UPSTREAM QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: unspecifiedCC: markmc, yeylon
Target Milestone: ---Keywords: FutureFeature
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
URL: https://blueprints.launchpad.net/heat/+spec/output-default-params
Whiteboard: upstream_milestone_none upstream_status_unknown upstream_definition_pending-approval
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-03-19 17:37:59 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description RHOS Integration 2013-12-12 21:28:56 UTC
Cloned from launchpad blueprint https://blueprints.launchpad.net/heat/+spec/output-default-params.

Description:

Say you create a stack with some stuff to be shared by other stacks. SecurityGroups, Networks, etc. If you have a lot of these shared resources in the stack, you must lookup, then pass a lot of parameters to a second stack manually.
The second needs a feature that lets you pass the name of the first stack, and then it can set parameter defaults to be the outputs in the first stack. You can then override individual parameters still if you want.

In the default param of the second stack, Perhaps there could be something like:
"Parameters": {
    "BackendNetwork": {
        "Default": {"StackOutput": [ "StackA", "NetworkId"]},
        "Description": "Network to use",
        "Type": "String"
}}


Ideally, the stack name would support ref's as well, so 
{ "StackOutput": [ {"Ref": "StackAName"}, "Foo"]}

This way, you can specify which instance of the stack to pull values from.

Specification URL (additional information):

None