123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275 |
- # flake8: noqa
- # pylint: skip-file
- DOCUMENTATION = '''
- ---
- module: repoquery
- short_description: Query package information from Yum repositories
- description:
- - Query package information from Yum repositories.
- options:
- state:
- description:
- - The expected state. Currently only supports list.
- required: false
- default: list
- choices: ["list"]
- aliases: []
- name:
- description:
- - The name of the package to query
- required: true
- default: None
- aliases: []
- query_type:
- description:
- - Narrows the packages queried based off of this value.
- - If repos, it narrows the query to repositories defined on the machine.
- - If installed, it narrows the query to only packages installed on the machine.
- - If available, it narrows the query to packages that are available to be installed.
- - If recent, it narrows the query to only recently edited packages.
- - If updates, it narrows the query to only packages that are updates to existing installed packages.
- - If extras, it narrows the query to packages that are not present in any of the available repositories.
- - If all, it queries all of the above.
- required: false
- default: repos
- aliases: []
- verbose:
- description:
- - Shows more detail for the requested query.
- required: false
- default: false
- aliases: []
- show_duplicates:
- description:
- - Shows multiple versions of a package.
- required: false
- default: false
- aliases: []
- match_version:
- description:
- - Match the specific version given to the package.
- required: false
- default: None
- aliases: []
- author:
- - "Matt Woodson <mwoodson@redhat.com>"
- extends_documentation_fragment: []
- '''
- EXAMPLES = '''
- # Example 1: Get bash versions
- - name: Get bash version
- repoquery:
- name: bash
- show_duplicates: True
- register: bash_out
- # Results:
- # ok: [localhost] => {
- # "bash_out": {
- # "changed": false,
- # "results": {
- # "cmd": "/usr/bin/repoquery --quiet --pkgnarrow=repos --queryformat=%{version}|%{release}|%{arch}|%{repo}|%{version}-%{release} --show-duplicates bash",
- # "package_found": true,
- # "package_name": "bash",
- # "returncode": 0,
- # "versions": {
- # "available_versions": [
- # "4.2.45",
- # "4.2.45",
- # "4.2.45",
- # "4.2.46",
- # "4.2.46",
- # "4.2.46",
- # "4.2.46"
- # ],
- # "available_versions_full": [
- # "4.2.45-5.el7",
- # "4.2.45-5.el7_0.2",
- # "4.2.45-5.el7_0.4",
- # "4.2.46-12.el7",
- # "4.2.46-19.el7",
- # "4.2.46-20.el7_2",
- # "4.2.46-21.el7_3"
- # ],
- # "latest": "4.2.46",
- # "latest_full": "4.2.46-21.el7_3"
- # }
- # },
- # "state": "present"
- # }
- # }
- # Example 2: Get bash versions verbosely
- - name: Get bash versions verbosely
- repoquery:
- name: bash
- show_duplicates: True
- verbose: True
- register: bash_out
- # Results:
- # ok: [localhost] => {
- # "bash_out": {
- # "changed": false,
- # "results": {
- # "cmd": "/usr/bin/repoquery --quiet --pkgnarrow=repos --queryformat=%{version}|%{release}|%{arch}|%{repo}|%{version}-%{release} --show-duplicates bash",
- # "package_found": true,
- # "package_name": "bash",
- # "raw_versions": {
- # "4.2.45-5.el7": {
- # "arch": "x86_64",
- # "release": "5.el7",
- # "repo": "rhel-7-server-rpms",
- # "version": "4.2.45",
- # "version_release": "4.2.45-5.el7"
- # },
- # "4.2.45-5.el7_0.2": {
- # "arch": "x86_64",
- # "release": "5.el7_0.2",
- # "repo": "rhel-7-server-rpms",
- # "version": "4.2.45",
- # "version_release": "4.2.45-5.el7_0.2"
- # },
- # "4.2.45-5.el7_0.4": {
- # "arch": "x86_64",
- # "release": "5.el7_0.4",
- # "repo": "rhel-7-server-rpms",
- # "version": "4.2.45",
- # "version_release": "4.2.45-5.el7_0.4"
- # },
- # "4.2.46-12.el7": {
- # "arch": "x86_64",
- # "release": "12.el7",
- # "repo": "rhel-7-server-rpms",
- # "version": "4.2.46",
- # "version_release": "4.2.46-12.el7"
- # },
- # "4.2.46-19.el7": {
- # "arch": "x86_64",
- # "release": "19.el7",
- # "repo": "rhel-7-server-rpms",
- # "version": "4.2.46",
- # "version_release": "4.2.46-19.el7"
- # },
- # "4.2.46-20.el7_2": {
- # "arch": "x86_64",
- # "release": "20.el7_2",
- # "repo": "rhel-7-server-rpms",
- # "version": "4.2.46",
- # "version_release": "4.2.46-20.el7_2"
- # },
- # "4.2.46-21.el7_3": {
- # "arch": "x86_64",
- # "release": "21.el7_3",
- # "repo": "rhel-7-server-rpms",
- # "version": "4.2.46",
- # "version_release": "4.2.46-21.el7_3"
- # }
- # },
- # "results": "4.2.45|5.el7|x86_64|rhel-7-server-rpms|4.2.45-5.el7\n4.2.45|5.el7_0.2|x86_64|rhel-7-server-rpms|4.2.45-5.el7_0.2\n4.2.45|5.el7_0.4|x86_64|rhel-7-server-rpms|4.2.45-5.el7_0.4\n4.2.46|12.el7|x86_64|rhel-7-server-rpms|4.2.46-12.el7\n4.2.46|19.el7|x86_64|rhel-7-server-rpms|4.2.46-19.el7\n4.2.46|20.el7_2|x86_64|rhel-7-server-rpms|4.2.46-20.el7_2\n4.2.46|21.el7_3|x86_64|rhel-7-server-rpms|4.2.46-21.el7_3\n",
- # "returncode": 0,
- # "versions": {
- # "available_versions": [
- # "4.2.45",
- # "4.2.45",
- # "4.2.45",
- # "4.2.46",
- # "4.2.46",
- # "4.2.46",
- # "4.2.46"
- # ],
- # "available_versions_full": [
- # "4.2.45-5.el7",
- # "4.2.45-5.el7_0.2",
- # "4.2.45-5.el7_0.4",
- # "4.2.46-12.el7",
- # "4.2.46-19.el7",
- # "4.2.46-20.el7_2",
- # "4.2.46-21.el7_3"
- # ],
- # "latest": "4.2.46",
- # "latest_full": "4.2.46-21.el7_3"
- # }
- # },
- # "state": "present"
- # }
- # }
- # Example 3: Match a specific version
- - name: matched versions repoquery test
- repoquery:
- name: atomic-openshift
- show_duplicates: True
- match_version: 3.3
- register: openshift_out
- # Result:
- # ok: [localhost] => {
- # "openshift_out": {
- # "changed": false,
- # "results": {
- # "cmd": "/usr/bin/repoquery --quiet --pkgnarrow=repos --queryformat=%{version}|%{release}|%{arch}|%{repo}|%{version}-%{release} --show-duplicates atomic-openshift",
- # "package_found": true,
- # "package_name": "atomic-openshift",
- # "returncode": 0,
- # "versions": {
- # "available_versions": [
- # "3.2.0.43",
- # "3.2.1.23",
- # "3.3.0.32",
- # "3.3.0.34",
- # "3.3.0.35",
- # "3.3.1.3",
- # "3.3.1.4",
- # "3.3.1.5",
- # "3.3.1.7",
- # "3.4.0.39"
- # ],
- # "available_versions_full": [
- # "3.2.0.43-1.git.0.672599f.el7",
- # "3.2.1.23-1.git.0.88a7a1d.el7",
- # "3.3.0.32-1.git.0.37bd7ea.el7",
- # "3.3.0.34-1.git.0.83f306f.el7",
- # "3.3.0.35-1.git.0.d7bd9b6.el7",
- # "3.3.1.3-1.git.0.86dc49a.el7",
- # "3.3.1.4-1.git.0.7c8657c.el7",
- # "3.3.1.5-1.git.0.62700af.el7",
- # "3.3.1.7-1.git.0.0988966.el7",
- # "3.4.0.39-1.git.0.5f32f06.el7"
- # ],
- # "latest": "3.4.0.39",
- # "latest_full": "3.4.0.39-1.git.0.5f32f06.el7",
- # "matched_version_found": true,
- # "matched_version_full_latest": "3.3.1.7-1.git.0.0988966.el7",
- # "matched_version_latest": "3.3.1.7",
- # "matched_versions": [
- # "3.3.0.32",
- # "3.3.0.34",
- # "3.3.0.35",
- # "3.3.1.3",
- # "3.3.1.4",
- # "3.3.1.5",
- # "3.3.1.7"
- # ],
- # "matched_versions_full": [
- # "3.3.0.32-1.git.0.37bd7ea.el7",
- # "3.3.0.34-1.git.0.83f306f.el7",
- # "3.3.0.35-1.git.0.d7bd9b6.el7",
- # "3.3.1.3-1.git.0.86dc49a.el7",
- # "3.3.1.4-1.git.0.7c8657c.el7",
- # "3.3.1.5-1.git.0.62700af.el7",
- # "3.3.1.7-1.git.0.0988966.el7"
- # ],
- # "requested_match_version": "3.3"
- # }
- # },
- # "state": "present"
- # }
- # }
- '''
|