Add types and providers for Pulpcore RPM resources#408
Open
alexjfisher wants to merge 1 commit into
Open
Conversation
Added types for managing RPM 'remotes', 'repositories' and 'distributions' resources using the `pulp` CLI. Providers are layered so the common logic can be shared and the CLI implementation swapped later, (with perhaps direct calls to the REST API, or the autogenerated ruby bindings??) * A grandparent provider holds the lifecycle/prefetch/flush mechanics, the property getter/setter macros, and the href->name lookup. * A per-resource parent maps the Pulp API hash to Puppet properties. * A CLI mixin shells out to `pulp` and parses its JSON responses. * A concrete `cli` provider wires them together. Coverage is intentionally partial, starting with the properties I needed today. Adding any additional properties should be fairly straightforward. Attribution: The type and provider implementation is my own work. The unit tests were largely drafted with help from ChatGPT. The code review and the resulting cleanup refactors were co-authored with Claude, (which also helped refine the tests). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Added types for managing RPM 'remotes', 'repositories' and 'distributions' resources using the
pulpCLI.Providers are layered so the common logic can be shared and the CLI implementation swapped later, (with perhaps direct calls to the REST API, or the autogenerated ruby bindings??)
pulpand parses its JSON responses.cliprovider wires them together.Coverage is intentionally partial, starting with the properties I needed today. Adding any additional properties should be fairly straightforward.
Attribution: The type and provider implementation is my own work. The unit tests were largely drafted with help from ChatGPT. The code review and the resulting cleanup refactors were co-authored with Claude, (which also helped refine the tests).