This PR changes delete behavior:
* On success, a 204 is returned rather than a 200 with an empty JSON object
* The CLI now passes through the 404 error if encountered instead of swallowing it
It also updates formatting for JSON to use the response body, which means that the item (or items) in the JSON format are actually the format across the wire, instead of being reinterpreted by unmarshaling into the Go SDK and then remarshaling.
This returns authorized actions on targets to users when they perform an operation on a target, including listing. It also prevents users from seeing values in listing targets on which they have no permissions.
This is a wire breaking change for json errors since we have removed and renamed a few fields, and changed part of the structure of the returned json error.
* Remove redundant fields in Status, details.error_id, details.TraceId and details.request_id from API errors.
* Added wrapped errors and "ops" field to indicate the internal operation of the errors returned by the API.
* Added error cli error reporting of Op and wrapped errors.
SDK methods now return 1 error. To differentiate between Client errors and Server errors I've also implemented the AsServerError function which returns an *api.Error if it is an error originating from the remote server or nil otherwise.
* Update protos and gen
* Add new values to targets CLI command
* Lots more plumbing of new parameters through everything
* allow fields to be set to zero value.
* Disallow set but empty name/description strings in create/update verifiers
Co-authored-by: Jim Lambert <jlambert@hashicorp.com>
* Adding new style template starts.
* Host-set crud changes generated and tested.
* Add templates for every resource with the new pathing. Only host-sets has testing or the backed pathing.
* Only generate new style API if requested in the input. Have disabling old be opt in.