add show nested stack to list stacks
diff --git a/openstack-heat/src/main/java/org/jclouds/openstack/heat/v1/options/ListStackOptions.java b/openstack-heat/src/main/java/org/jclouds/openstack/heat/v1/options/ListStackOptions.java
index 9f85b08..4a5e752 100644
--- a/openstack-heat/src/main/java/org/jclouds/openstack/heat/v1/options/ListStackOptions.java
+++ b/openstack-heat/src/main/java/org/jclouds/openstack/heat/v1/options/ListStackOptions.java
@@ -160,8 +160,8 @@
/**
* Return all the stack of all the tenant
*/
- public ListStackOptions globalTenant(Boolean globalTenant) {
- this.queryParameters.put("global_tenant", globalTenant != null ? Boolean.toString(globalTenant) : "false");
+ public ListStackOptions globalTenant(boolean globalTenant) {
+ this.queryParameters.put("global_tenant", Boolean.toString(globalTenant));
return this;
}
@@ -184,6 +184,14 @@
return this;
}
+ /**
+ * Include nested stacks in the stack listing.
+ */
+ public ListStackOptions showNested(boolean showNested) {
+ this.queryParameters.put("show_nested", Boolean.toString(showNested));
+ return this;
+ }
+
public static Builder builder() {
return new Builder();
}
@@ -233,11 +241,18 @@
}
/**
- * @see ListStackOptions#globalTenant(Boolean
+ * @see ListStackOptions#globalTenant(boolean)
*/
- public static ListStackOptions globalTenant(Boolean globalTenant) {
+ public static ListStackOptions globalTenant(boolean globalTenant) {
return new ListStackOptions().globalTenant(globalTenant);
}
+
+ /**
+ * @see ListStackOptions#showNested(boolean)
+ */
+ public static ListStackOptions showNested(boolean showNested) {
+ return new ListStackOptions().showNested(showNested);
+ }
}
}
diff --git a/openstack-heat/src/test/java/org/jclouds/openstack/heat/v1/features/StackApiMockTest.java b/openstack-heat/src/test/java/org/jclouds/openstack/heat/v1/features/StackApiMockTest.java
index 841c41a..2695d5a 100644
--- a/openstack-heat/src/test/java/org/jclouds/openstack/heat/v1/features/StackApiMockTest.java
+++ b/openstack-heat/src/test/java/org/jclouds/openstack/heat/v1/features/StackApiMockTest.java
@@ -204,7 +204,7 @@
HeatApi heatApi = api(server.getUrl("/").toString(), "openstack-heat", overrides);
StackApi api = heatApi.getStackApi("RegionOne");
- ListStackOptions options = ListStackOptions.Builder.name("simple_stack");
+ ListStackOptions options = ListStackOptions.Builder.name("simple_stack").showNested(true).globalTenant(true);
List<Stack> stacks = api.list(options);
@@ -213,7 +213,7 @@
*/
assertThat(server.getRequestCount()).isEqualTo(2);
assertAuthentication(server);
- assertRequest(server.takeRequest(), "GET", BASE_URI + "/stacks?name=simple_stack");
+ assertRequest(server.takeRequest(), "GET", BASE_URI + "/stacks?name=simple_stack&show_nested=true&global_tenant=true");
/*
* Check response
diff --git a/openstack-heat/src/test/java/org/jclouds/openstack/heat/v1/options/ListStackOptionsTest.java b/openstack-heat/src/test/java/org/jclouds/openstack/heat/v1/options/ListStackOptionsTest.java
index 066f95e..b93d4fe 100644
--- a/openstack-heat/src/test/java/org/jclouds/openstack/heat/v1/options/ListStackOptionsTest.java
+++ b/openstack-heat/src/test/java/org/jclouds/openstack/heat/v1/options/ListStackOptionsTest.java
@@ -24,6 +24,7 @@
import static org.assertj.core.api.Assertions.assertThat;
import static org.jclouds.openstack.heat.v1.options.ListStackOptions.Builder.globalTenant;
+import static org.jclouds.openstack.heat.v1.options.ListStackOptions.Builder.showNested;
import static org.jclouds.openstack.heat.v1.options.ListStackOptions.Builder.limit;
import static org.jclouds.openstack.heat.v1.options.ListStackOptions.Builder.marker;
import static org.jclouds.openstack.heat.v1.options.ListStackOptions.Builder.name;
@@ -106,4 +107,11 @@
assertThat(options.buildQueryParameters().get("global_tenant"))
.isEqualTo(ImmutableSet.of("true"));
}
+
+ public void testShowNested() {
+ ListStackOptions options = showNested(true);
+ assertThat(options.buildQueryParameters().get("show_nested"))
+ .isEqualTo(ImmutableSet.of("true"));
+ }
+
}
diff --git a/openstack-heat/src/test/resources/stack_get_response.json b/openstack-heat/src/test/resources/stack_get_response.json
index cce3ff3..e20c009 100644
--- a/openstack-heat/src/test/resources/stack_get_response.json
+++ b/openstack-heat/src/test/resources/stack_get_response.json
@@ -1,5 +1,6 @@
{
"stack": {
+ "parent": null,
"capabilities": [],
"creation_time": "2014-06-03T20:59:46Z",
"description": "sample stack",
diff --git a/openstack-heat/src/test/resources/stack_list_response.json b/openstack-heat/src/test/resources/stack_list_response.json
index 66d2532..6d527ed 100644
--- a/openstack-heat/src/test/resources/stack_list_response.json
+++ b/openstack-heat/src/test/resources/stack_list_response.json
@@ -1,6 +1,7 @@
{
"stacks": [
{
+ "parent": null,
"creation_time": "2014-06-03T20:59:46Z",
"description": "sample stack",
"id": "3095aefc-09fb-4bc7-b1f0-f21a304e864c",