Bug fixes
diff --git a/openstack/orchestration/v1/stacks/requests.go b/openstack/orchestration/v1/stacks/requests.go
index 8616644..1fc484d 100644
--- a/openstack/orchestration/v1/stacks/requests.go
+++ b/openstack/orchestration/v1/stacks/requests.go
@@ -237,13 +237,15 @@
}
s["stack_name"] = opts.Name
Files := make(map[string]string)
- if opts.TemplateOpts == nil {
+ if opts.AdoptStackData != "" {
+ s["adopt_stack_data"] = opts.AdoptStackData
+ } else if opts.TemplateOpts == nil {
if opts.Template != "" {
s["template"] = opts.Template
} else if opts.TemplateURL != "" {
s["template_url"] = opts.TemplateURL
} else {
- return s, errors.New("Either Template or TemplateURL must be provided.")
+ return s, errors.New("One of AdoptStackData, Template, TemplateURL or TemplateOpts must be provided.")
}
} else {
if err := opts.TemplateOpts.Parse(); err != nil {
@@ -260,10 +262,6 @@
Files[k] = v
}
}
- if opts.AdoptStackData == "" {
- return s, errors.New("Required field 'AdoptStackData' not provided.")
- }
- s["adopt_stack_data"] = opts.AdoptStackData
if opts.DisableRollback != nil {
s["disable_rollback"] = &opts.DisableRollback