Exemplo n.º 1
0
def main():
    with PulpEntityAnsibleModule(
            argument_spec=dict(name=dict(),
                               base_path=dict(),
                               publication=dict(),
                               content_guard=dict()),
            required_if=[
                ("state", "present", ["name", "base_path"]),
                ("state", "absent", ["name"]),
            ],
    ) as module:

        content_guard_name = module.params["content_guard"]

        natural_key = {"name": module.params["name"]}
        desired_attributes = {
            key: module.params[key]
            for key in ["base_path", "publication"]
            if module.params[key] is not None
        }

        if content_guard_name is not None:
            if content_guard_name:
                content_guard = PulpContentGuard(module,
                                                 {"name": content_guard_name})
                content_guard.find(failsafe=False)
                desired_attributes["content_guard"] = content_guard.href
            else:
                desired_attributes["content_guard"] = None

        PulpRpmDistribution(module, natural_key, desired_attributes).process()
Exemplo n.º 2
0
def main():
    with PulpEntityAnsibleModule(
        argument_spec=dict(
            name=dict(),
            base_path=dict(),
            repository=dict(),
            version=dict(type="int"),
            content_guard=dict(),
        ),
        required_if=[
            ("state", "present", ["name", "base_path"]),
            ("state", "absent", ["name"]),
        ],
    ) as module:

        repository_name = module.params["repository"]
        version = module.params["version"]
        content_guard_name = module.params["content_guard"]

        natural_key = {
            "name": module.params["name"],
        }
        desired_attributes = {
            key: module.params[key]
            for key in ["base_path"]
            if module.params[key] is not None
        }

        if repository_name:
            repository = PulpAnsibleRepository(module, {"name": repository_name})
            repository.find()
            if repository.entity is None:
                raise SqueezerException(
                    msg="Failed to find repository ({repository_name}).".format(
                        repository_name=repository_name
                    )
                )
            # TODO check if version exists
            if version:
                desired_attributes["repository_version"] = repository.entity[
                    "versions_href"
                ] + "{version}/".format(version=version)
            else:
                desired_attributes["repository"] = repository.href

        if content_guard_name is not None:
            if content_guard_name:
                content_guard = PulpContentGuard(module, {"name": content_guard_name})
                content_guard.find()
                if content_guard.entity is None:
                    raise SqueezerException(
                        "Content guard {0} not found.".format(content_guard_name)
                    )
                desired_attributes["content_guard"] = content_guard.href
            else:
                desired_attributes["content_guard"] = None

        PulpAnsibleDistribution(module, natural_key, desired_attributes).process()
Exemplo n.º 3
0
def main():
    with PulpEntityAnsibleModule(
            argument_spec=dict(
                name=dict(),
                base_path=dict(),
                repository=dict(),
                version=dict(type="int"),
                content_guard=dict(),
                private=dict(type="bool"),
            ),
            required_if=[
                ("state", "present", ["name", "base_path"]),
                ("state", "absent", ["name"]),
            ],
    ) as module:

        repository_name = module.params["repository"]
        version = module.params["version"]
        content_guard_name = module.params["content_guard"]
        private = module.params["private"]

        natural_key = {"name": module.params["name"]}
        desired_attributes = {
            key: module.params[key]
            for key in ["base_path", "private"]
            if module.params[key] is not None
        }

        if repository_name:
            repository = PulpContainerRepository(module,
                                                 {"name": repository_name})
            repository.find(failsafe=False)
            # TODO check if version exists
            if version:
                desired_attributes["repository_version"] = repository.entity[
                    "versions_href"] + "{version}/".format(version=version)
            else:
                desired_attributes["repository"] = repository.href

        if content_guard_name is not None:
            if content_guard_name:
                content_guard = PulpContentGuard(module,
                                                 {"name": content_guard_name})
                content_guard.find(failsafe=False)
                desired_attributes["content_guard"] = content_guard.href
            else:
                desired_attributes["content_guard"] = None

        PulpContainerDistribution(module, natural_key,
                                  desired_attributes).process()
Exemplo n.º 4
0
def main():
    with PulpEntityAnsibleModule(
            argument_spec=dict(
                name=dict(),
                base_path=dict(),
                publication=dict(),
                content_guard=dict(),
            ),
            required_if=[
                ("state", "present", ["name", "base_path"]),
                ("state", "absent", ["name"]),
            ],
    ) as module:

        content_guard_name = module.params["content_guard"]

        natural_key = {
            "name": module.params["name"],
        }
        desired_attributes = {
            key: module.params[key]
            for key in ["base_path", "publication"]
            if module.params[key] is not None
        }

        if content_guard_name is not None:
            if content_guard_name:
                content_guard = PulpContentGuard(module,
                                                 {"name": content_guard_name})
                content_guard.find()
                if content_guard.entity is None:
                    raise SqueezerException(
                        "Content guard {0} not found.".format(
                            content_guard_name))
                desired_attributes["content_guard"] = content_guard.href
            else:
                desired_attributes["content_guard"] = None

        PulpFileDistribution(module, natural_key, desired_attributes).process()