Demonstrate variable scope in a parallel step

Demonstrates the scope of a shared variable, as well as variables that are local to their respective branch scopes.

Explore further

For detailed documentation that includes this code sample, see the following:

Code sample

YAML

  - 
  
 assignStep 
 : 
  
 # these variables can be read by any branch 
  
 assign 
 : 
  
 - 
  
 input 
 : 
  
 [ 
 "apples" 
 , 
  
 "oranges" 
 ] 
  
 - 
  
 my_result 
 : 
  
 {} 
 - 
  
 parallelStep 
 : 
  
 parallel 
 : 
  
 shared 
 : 
  
 [ 
 my_result 
 ] 
  
 # my_result is now writable by any branch 
  
 branches 
 : 
  
 - 
  
 getStock 
 : 
  
 steps 
 : 
  
 - 
  
 callGetStock 
 : 
  
 call 
 : 
  
 http.get 
  
 args 
 : 
  
 url 
 : 
  
 ${"http://mystore.com/getStock/" + input[0]} 
  
 result 
 : 
  
 local_result 
  
 # local_result is local to this branch scope 
  
 - 
  
 assignResult1 
 : 
  
 assign 
 : 
  
 - 
  
 my_result["getStock"] 
 : 
  
 ${local_result.body.some.entry} 
  
 # ok, my_result has shared scope and is writable 
  
 - 
  
 temp 
 : 
  
 1 
  
 # ok, variable is local to branch scope 
  
 - 
  
 temp2 
 : 
  
 "foo" 
  
 # ok, variable is local to branch scope 
  
 # - input: 5  # deployment error, defined in the parent scope but not marked "shared" 
  
 - 
  
 orderStock 
 : 
  
 steps 
 : 
  
 - 
  
 callOrderStock 
 : 
  
 call 
 : 
  
 http.get 
  
 args 
 : 
  
 url 
 : 
  
 ${"http://mystore.com/orderStock/" + input[1]} 
  
 result 
 : 
  
 local_result 
  
 # local_result is local to this branch 
  
 - 
  
 assignResult2 
 : 
  
 assign 
 : 
  
 - 
  
 my_result["orderStock"] 
 : 
  
 ${local_result.body.some.entry} 
  
 # ok, my_result has shared scope and is writable 
  
 - 
  
 temp 
 : 
  
 2 
  
 # ok, variable is local to branch scope 
  
 # - temp: ${temp2}  # deployment error, temp2 is not defined in this branch 
 

What's next

To search and filter code samples for other Google Cloud products, see the Google Cloud sample browser .

Create a Mobile Website
View Site in Mobile | Classic
Share by: