Add requirements.yaml specification support to collection sync
Requirements with requirements.yml:¶
We would like to have the ability to use the requirements.yml documented here: https://docs.ansible.com/ansible/devel/dev_guide/collections_tech_preview.html#install-multiple-collections-with-a-requirements-file
--- collections: # With just the collection name - my_namespace.my_collection # With the collection name, version, and source options - name: my_namespace.my_other_collection version: 'version range identifiers (default: ``*``)' source: 'The Galaxy URL to pull the collection from (default: ``--api-server`` from cmdline)'
This would sync the collection my_namespace.my_collection and the specified version of my_namespace.my_other_collection. The version specification would be similar to https://docs.ansible.com/ansible/devel/dev_guide/collections_tech_preview.html#installing-an-older-version-of-a-collection
The field on the CollectionRemote should be called
Validation of data Requirement¶
Note that Pulp expects to have all content from a single source and does not expect to have sources defined per content item (as the "source" field allows in this spec). As such, Pulp should not accept a requirements.yaml that contains a definition for "source". If specified when creating/saving a remote it should be rejected as invalid with a message from the user.