def _repository_callback( ctx: click.Context, param: click.Parameter, value: Optional[str] ) -> Union[str, PulpEntityContext, None]: # Pass None and "" verbatim if value: pulp_ctx: PulpContext = ctx.find_object(PulpContext) return PulpFileRepositoryContext(pulp_ctx, entity={"name": value}) return value
def create( pulp_ctx: PulpContext, publication_ctx: PulpFilePublicationContext, repository: str, version: Optional[int], ) -> None: repository_href: str = PulpFileRepositoryContext( pulp_ctx, entity={"name": repository} ).pulp_href if version is not None: body = {"repository_version": f"{repository_href}versions/{version}/"} else: body = {"repository": repository_href} result = publication_ctx.create(body=body) publication = publication_ctx.show(result["created_resources"][0]) pulp_ctx.output_result(publication)
def repository(ctx: click.Context, pulp_ctx: PulpContext, repo_type: str) -> None: if repo_type == "file": ctx.obj = PulpFileRepositoryContext(pulp_ctx) else: raise NotImplementedError()