Add optional args arg back to do_list

Without this change "heat list" does not work.

Change-Id: Ie0bc4d0964fcb9d7a5e3271b739f053eb1c701fd
Closes-Bug: #1278178
Improve help strings

Follow oslo.config style guide for help strings better to create
consistent help strings:
* Finish help strings with "."
* Add missing spaces between words

Change-Id: I6191842c253b254768bcc5c22fcfb435296f3945
Co-Authored-By: Shilla Saebi<shilla.saebi@gmail.com>
Fixes environment file using correct YAML format

An internal unexpected exception is raised while create a stack with an
environment file which only has string content. We should handle the case
and raise the correct error message such as "environment file is not Yaml
format".

Change-Id: I4e124db6a8dca9cf811f151ae95058cdaae16a01
Closes-Bug: #1273974
Python3: use six.iteritems() rather than dict.iteritems()

This is compatible with both Python 2 and 3.

Change-Id: If8c3a4a6fe028a3a1dc6899f0f4e65c89403d267
get_file_contents: use six.itervalues() instead of dict.itervalues()

This is compatible with both Python 2 and 3.

Change-Id: I7429efe3ee5fd1dabf9bb607dcd3860057a8569f
Decode all headers before logging curl commands

This fixes an issue with username with utf8 characters, heatclient would
crashes while it is supported in keystone.

Closes-Bug: #1269779
Change-Id: I10906cc3876a5e2916dd00e5d96070bc05c832be
Do not use the '+' operation dict_items()

This operation is undefined in Python3, list() must be called first.

Change-Id: I764ee994b5faf0e6783e4025466e6ceb17fe3642
Make POST/PUT redirects use original methods

Commands like 'stack-update' and 'action-suspend' use PUT or
POST methods when interacting with the Heat API. They also
require the use of redirects. Currently redirects for these use
GET instead of the original method which leads to undesired
outcomes. This commit ensures that the redirect always uses the
original method.

Change-Id: Iee578ea23c842e48f2d73992804f9c2efb9c7f43
Closes-bug: #1280158
Add support for software config resources

SoftwareConfig lacks update methods as it is immutable.

Implements: blueprint hot-software-config-rest

Change-Id: I1d05433303c182f03d21378fd66af4f589b7821b
Only call decode() on bytes

In Python 3, text strings are not bytes, so the decode() method should not be
called on them.

Change-Id: I081c6a93daa86586378a15d8ae98738c41bda8d0
REST method to fetch deployments metadata for a server

This REST method returns a grouped collection of deployment resource
metadata which a server uses as its configuration inputs.

Previously the index method was overloaded to perform this function too.

Currently this will be called by heat-engine when the server
resource metadata is polled, but it should eventually be possible
for servers to call this method directly so that a stack does not
need to be parsed every time a server polls for metadata.

partial blueprint hot-software-config

Change-Id: Ie81e413459eaf7a24658be84152d88228f42c6b6
Merge "Add optional args arg back to do_list"
Merge "Fixes environment file using correct YAML format"
Merge "Make POST/PUT redirects use original methods"
Merge "REST method to fetch deployments metadata for a server"
Merge "Decode all headers before logging curl commands"
Merge "Python3: use six.iteritems() rather than dict.iteritems()"
Adding stack-adopt support to python-heatclient

Closes-Bug: #1262267
Change-Id: I7c337b90ad58e17f0c24fc4664fc37f642296566
Merge "Adding stack-adopt support to python-heatclient"
Merge "get_file_contents: use six.itervalues() instead of dict.itervalues()"