feat: Add dynamic tagging and descriptions (#7) This change will allow us to have a dynamic allocation of tags and project descriptions. Within the example map file, the DDI information will be defined as tag the tags allow projects to be searched. The change asserts that defined tags will always be set whenever a user is authenticated against a cloud with the plugin enabled. ``` shell openstack --os-cloud default project show --domain rackspace_cloud_domain 1342135_Flex +-------------+----------------------------------+ | Field | Value | +-------------+----------------------------------+ | ddi | 1342135 | | description | Project for DDI 1342135 | | domain_id | 61ad3a247515421aaeaba18ae35aa095 | | enabled | True | | id | de15709c1cd242a6b7451d43c52d1640 | | is_domain | False | | name | 1342135_Flex | | options | {} | | parent_id | 61ad3a247515421aaeaba18ae35aa095 | | tags | ['1342135'] | +-------------+----------------------------------+ ``` As seen in the above snippet, the project is now fully tagged, and labeled based on the mapping. Additionally admins can now search projects using the DDI as a tag, ``` shell openstack --os-cloud default project list --domain rackspace_cloud_domain --long --tags 1342135 +----------------------------------+--------------------------------------+----------------------------------+-------------------------+---------+ | ID | Name | Domain ID | Description | Enabled | +----------------------------------+--------------------------------------+----------------------------------+-------------------------+---------+ | 31a43637efc24ea19eea40af4e72d43d | 3965512c-e2c0-48a7-acef-3cdfb2b95ef8 | 61ad3a247515421aaeaba18ae35aa095 | Project for DDI 1342135 | True | | de15709c1cd242a6b7451d43c52d1640 | 1342135_Flex | 61ad3a247515421aaeaba18ae35aa095 | Project for DDI 1342135 | True | +----------------------------------+--------------------------------------+----------------------------------+-------------------------+---------+ ``` Issue: https://rackspace.atlassian.net/browse/OSPC-746 Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>