예제 #1
0
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
예제 #2
0
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)
예제 #3
0
def repository(ctx: click.Context, pulp_ctx: PulpContext, repo_type: str) -> None:
    if repo_type == "file":
        ctx.obj = PulpFileRepositoryContext(pulp_ctx)
    else:
        raise NotImplementedError()