diff --git a/hot/resource_group/random.yaml b/hot/resource_group/random.yaml
new file mode 100644
index 00000000..6bbc40b2
--- /dev/null
+++ b/hot/resource_group/random.yaml
@@ -0,0 +1,17 @@
+heat_template_version: 2015-10-15
+
+parameters:
+  lengths:
+    type: comma_delimited_list
+  index:
+    type: number
+
+resources:
+  random:
+    type: OS::Heat::RandomString
+    properties:
+      length: {get_param: [lengths, {get_param: index}]}
+
+outputs:
+  value:
+    value: {get_attr: [random, value]}
diff --git a/hot/resource_group/resource_group_index_lookup.yaml b/hot/resource_group/resource_group_index_lookup.yaml
new file mode 100644
index 00000000..ba380eef
--- /dev/null
+++ b/hot/resource_group/resource_group_index_lookup.yaml
@@ -0,0 +1,26 @@
+heat_template_version: 2015-04-30
+
+description: Shows how to look up list/map values by group index
+
+parameters:
+  random_lengths:
+    type: comma_delimited_list
+    default: [4, 5, 6]
+
+resources:
+  random_group:
+    type: OS::Heat::ResourceGroup
+    properties:
+      count: 3
+      resource_def:
+        type: random.yaml
+        properties:
+          # Note you have to pass the index and the entire list into the
+          # nested template, resolving via %index% doesn't work directly
+          # in the get_param here
+          index: "%index%"
+          lengths: {get_param: random_lengths}
+
+outputs:
+  all_values:
+    value: {get_attr: [random_group, value]}