repoquery 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275
  1. # flake8: noqa
  2. # pylint: skip-file
  3. DOCUMENTATION = '''
  4. ---
  5. module: repoquery
  6. short_description: Query package information from Yum repositories
  7. description:
  8. - Query package information from Yum repositories.
  9. options:
  10. state:
  11. description:
  12. - The expected state. Currently only supports list.
  13. required: false
  14. default: list
  15. choices: ["list"]
  16. aliases: []
  17. name:
  18. description:
  19. - The name of the package to query
  20. required: true
  21. default: None
  22. aliases: []
  23. query_type:
  24. description:
  25. - Narrows the packages queried based off of this value.
  26. - If repos, it narrows the query to repositories defined on the machine.
  27. - If installed, it narrows the query to only packages installed on the machine.
  28. - If available, it narrows the query to packages that are available to be installed.
  29. - If recent, it narrows the query to only recently edited packages.
  30. - If updates, it narrows the query to only packages that are updates to existing installed packages.
  31. - If extras, it narrows the query to packages that are not present in any of the available repositories.
  32. - If all, it queries all of the above.
  33. required: false
  34. default: repos
  35. aliases: []
  36. verbose:
  37. description:
  38. - Shows more detail for the requested query.
  39. required: false
  40. default: false
  41. aliases: []
  42. show_duplicates:
  43. description:
  44. - Shows multiple versions of a package.
  45. required: false
  46. default: false
  47. aliases: []
  48. match_version:
  49. description:
  50. - Match the specific version given to the package.
  51. required: false
  52. default: None
  53. aliases: []
  54. author:
  55. - "Matt Woodson <mwoodson@redhat.com>"
  56. extends_documentation_fragment: []
  57. '''
  58. EXAMPLES = '''
  59. # Example 1: Get bash versions
  60. - name: Get bash version
  61. repoquery:
  62. name: bash
  63. show_duplicates: True
  64. register: bash_out
  65. # Results:
  66. # ok: [localhost] => {
  67. # "bash_out": {
  68. # "changed": false,
  69. # "results": {
  70. # "cmd": "/usr/bin/repoquery --quiet --pkgnarrow=repos --queryformat=%{version}|%{release}|%{arch}|%{repo}|%{version}-%{release} --show-duplicates bash",
  71. # "package_found": true,
  72. # "package_name": "bash",
  73. # "returncode": 0,
  74. # "versions": {
  75. # "available_versions": [
  76. # "4.2.45",
  77. # "4.2.45",
  78. # "4.2.45",
  79. # "4.2.46",
  80. # "4.2.46",
  81. # "4.2.46",
  82. # "4.2.46"
  83. # ],
  84. # "available_versions_full": [
  85. # "4.2.45-5.el7",
  86. # "4.2.45-5.el7_0.2",
  87. # "4.2.45-5.el7_0.4",
  88. # "4.2.46-12.el7",
  89. # "4.2.46-19.el7",
  90. # "4.2.46-20.el7_2",
  91. # "4.2.46-21.el7_3"
  92. # ],
  93. # "latest": "4.2.46",
  94. # "latest_full": "4.2.46-21.el7_3"
  95. # }
  96. # },
  97. # "state": "present"
  98. # }
  99. # }
  100. # Example 2: Get bash versions verbosely
  101. - name: Get bash versions verbosely
  102. repoquery:
  103. name: bash
  104. show_duplicates: True
  105. verbose: True
  106. register: bash_out
  107. # Results:
  108. # ok: [localhost] => {
  109. # "bash_out": {
  110. # "changed": false,
  111. # "results": {
  112. # "cmd": "/usr/bin/repoquery --quiet --pkgnarrow=repos --queryformat=%{version}|%{release}|%{arch}|%{repo}|%{version}-%{release} --show-duplicates bash",
  113. # "package_found": true,
  114. # "package_name": "bash",
  115. # "raw_versions": {
  116. # "4.2.45-5.el7": {
  117. # "arch": "x86_64",
  118. # "release": "5.el7",
  119. # "repo": "rhel-7-server-rpms",
  120. # "version": "4.2.45",
  121. # "version_release": "4.2.45-5.el7"
  122. # },
  123. # "4.2.45-5.el7_0.2": {
  124. # "arch": "x86_64",
  125. # "release": "5.el7_0.2",
  126. # "repo": "rhel-7-server-rpms",
  127. # "version": "4.2.45",
  128. # "version_release": "4.2.45-5.el7_0.2"
  129. # },
  130. # "4.2.45-5.el7_0.4": {
  131. # "arch": "x86_64",
  132. # "release": "5.el7_0.4",
  133. # "repo": "rhel-7-server-rpms",
  134. # "version": "4.2.45",
  135. # "version_release": "4.2.45-5.el7_0.4"
  136. # },
  137. # "4.2.46-12.el7": {
  138. # "arch": "x86_64",
  139. # "release": "12.el7",
  140. # "repo": "rhel-7-server-rpms",
  141. # "version": "4.2.46",
  142. # "version_release": "4.2.46-12.el7"
  143. # },
  144. # "4.2.46-19.el7": {
  145. # "arch": "x86_64",
  146. # "release": "19.el7",
  147. # "repo": "rhel-7-server-rpms",
  148. # "version": "4.2.46",
  149. # "version_release": "4.2.46-19.el7"
  150. # },
  151. # "4.2.46-20.el7_2": {
  152. # "arch": "x86_64",
  153. # "release": "20.el7_2",
  154. # "repo": "rhel-7-server-rpms",
  155. # "version": "4.2.46",
  156. # "version_release": "4.2.46-20.el7_2"
  157. # },
  158. # "4.2.46-21.el7_3": {
  159. # "arch": "x86_64",
  160. # "release": "21.el7_3",
  161. # "repo": "rhel-7-server-rpms",
  162. # "version": "4.2.46",
  163. # "version_release": "4.2.46-21.el7_3"
  164. # }
  165. # },
  166. # "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",
  167. # "returncode": 0,
  168. # "versions": {
  169. # "available_versions": [
  170. # "4.2.45",
  171. # "4.2.45",
  172. # "4.2.45",
  173. # "4.2.46",
  174. # "4.2.46",
  175. # "4.2.46",
  176. # "4.2.46"
  177. # ],
  178. # "available_versions_full": [
  179. # "4.2.45-5.el7",
  180. # "4.2.45-5.el7_0.2",
  181. # "4.2.45-5.el7_0.4",
  182. # "4.2.46-12.el7",
  183. # "4.2.46-19.el7",
  184. # "4.2.46-20.el7_2",
  185. # "4.2.46-21.el7_3"
  186. # ],
  187. # "latest": "4.2.46",
  188. # "latest_full": "4.2.46-21.el7_3"
  189. # }
  190. # },
  191. # "state": "present"
  192. # }
  193. # }
  194. # Example 3: Match a specific version
  195. - name: matched versions repoquery test
  196. repoquery:
  197. name: atomic-openshift
  198. show_duplicates: True
  199. match_version: 3.3
  200. register: openshift_out
  201. # Result:
  202. # ok: [localhost] => {
  203. # "openshift_out": {
  204. # "changed": false,
  205. # "results": {
  206. # "cmd": "/usr/bin/repoquery --quiet --pkgnarrow=repos --queryformat=%{version}|%{release}|%{arch}|%{repo}|%{version}-%{release} --show-duplicates atomic-openshift",
  207. # "package_found": true,
  208. # "package_name": "atomic-openshift",
  209. # "returncode": 0,
  210. # "versions": {
  211. # "available_versions": [
  212. # "3.2.0.43",
  213. # "3.2.1.23",
  214. # "3.3.0.32",
  215. # "3.3.0.34",
  216. # "3.3.0.35",
  217. # "3.3.1.3",
  218. # "3.3.1.4",
  219. # "3.3.1.5",
  220. # "3.3.1.7",
  221. # "3.4.0.39"
  222. # ],
  223. # "available_versions_full": [
  224. # "3.2.0.43-1.git.0.672599f.el7",
  225. # "3.2.1.23-1.git.0.88a7a1d.el7",
  226. # "3.3.0.32-1.git.0.37bd7ea.el7",
  227. # "3.3.0.34-1.git.0.83f306f.el7",
  228. # "3.3.0.35-1.git.0.d7bd9b6.el7",
  229. # "3.3.1.3-1.git.0.86dc49a.el7",
  230. # "3.3.1.4-1.git.0.7c8657c.el7",
  231. # "3.3.1.5-1.git.0.62700af.el7",
  232. # "3.3.1.7-1.git.0.0988966.el7",
  233. # "3.4.0.39-1.git.0.5f32f06.el7"
  234. # ],
  235. # "latest": "3.4.0.39",
  236. # "latest_full": "3.4.0.39-1.git.0.5f32f06.el7",
  237. # "matched_version_found": true,
  238. # "matched_version_full_latest": "3.3.1.7-1.git.0.0988966.el7",
  239. # "matched_version_latest": "3.3.1.7",
  240. # "matched_versions": [
  241. # "3.3.0.32",
  242. # "3.3.0.34",
  243. # "3.3.0.35",
  244. # "3.3.1.3",
  245. # "3.3.1.4",
  246. # "3.3.1.5",
  247. # "3.3.1.7"
  248. # ],
  249. # "matched_versions_full": [
  250. # "3.3.0.32-1.git.0.37bd7ea.el7",
  251. # "3.3.0.34-1.git.0.83f306f.el7",
  252. # "3.3.0.35-1.git.0.d7bd9b6.el7",
  253. # "3.3.1.3-1.git.0.86dc49a.el7",
  254. # "3.3.1.4-1.git.0.7c8657c.el7",
  255. # "3.3.1.5-1.git.0.62700af.el7",
  256. # "3.3.1.7-1.git.0.0988966.el7"
  257. # ],
  258. # "requested_match_version": "3.3"
  259. # }
  260. # },
  261. # "state": "present"
  262. # }
  263. # }
  264. '''