oci-cli 3.64.1__py3-none-any.whl → 3.65.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (478) hide show
  1. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-container-database/create-autonomous-container-database-create-autonomous-container-database-from-backup-details.txt +2 -2
  2. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-container-database/create.txt +3 -3
  3. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-container-database-backup/list.txt +2 -2
  4. oci_cli/help_text_producer/data_files/text/cmdref/db/data-guard-association/create/with-new-db-system.txt +15 -0
  5. oci_cli/help_text_producer/data_files/text/cmdref/db/database/create-from-backup.txt +10 -0
  6. oci_cli/help_text_producer/data_files/text/cmdref/db/database/create-standby-database.txt +14 -0
  7. oci_cli/help_text_producer/data_files/text/cmdref/db/database/create.txt +10 -0
  8. oci_cli/help_text_producer/data_files/text/cmdref/db/database/update.txt +11 -0
  9. oci_cli/help_text_producer/data_files/text/cmdref/db/exadb-vm-cluster/create.txt +9 -0
  10. oci_cli/help_text_producer/data_files/text/cmdref/db/exascale-db-storage-vault/list.txt +21 -0
  11. oci_cli/help_text_producer/data_files/text/cmdref/db/gi-version/list.txt +5 -0
  12. oci_cli/help_text_producer/data_files/text/cmdref/db/system/launch-from-backup.txt +42 -27
  13. oci_cli/help_text_producer/data_files/text/cmdref/db/system/launch-from-database.txt +42 -27
  14. oci_cli/help_text_producer/data_files/text/cmdref/db/system/launch-from-db-system.txt +42 -27
  15. oci_cli/help_text_producer/data_files/text/cmdref/db/system/launch.txt +42 -27
  16. oci_cli/help_text_producer/data_files/text/cmdref/db/system/list-db-system-storage-performances.txt +4 -0
  17. oci_cli/help_text_producer/data_files/text/cmdref/db/system/update.txt +15 -0
  18. oci_cli/help_text_producer/data_files/text/cmdref/db/system-shape/list.txt +5 -0
  19. oci_cli/help_text_producer/data_files/text/cmdref/db/version/list.txt +5 -0
  20. oci_cli/help_text_producer/data_files/text/cmdref/delegate-access-control/work-request/work-request-error/{list.txt → list-errors.txt} +5 -5
  21. oci_cli/help_text_producer/data_files/text/cmdref/delegate-access-control/work-request/work-request-error.txt +1 -1
  22. oci_cli/help_text_producer/data_files/text/cmdref/delegate-access-control/work-request/work-request-log-entry/{list-work-request-logs.txt → list-logs.txt} +5 -5
  23. oci_cli/help_text_producer/data_files/text/cmdref/delegate-access-control/work-request/work-request-log-entry.txt +1 -1
  24. oci_cli/help_text_producer/data_files/text/cmdref/delegate-access-control/work-request.txt +2 -2
  25. oci_cli/help_text_producer/data_files/text/cmdref/delegate-access-control.txt +2 -2
  26. oci_cli/help_text_producer/data_files/text/cmdref/goldengate/deployment/create.txt +12 -0
  27. oci_cli/help_text_producer/data_files/text/cmdref/goldengate/deployment/list.txt +9 -0
  28. oci_cli/help_text_producer/data_files/text/cmdref/goldengate/deployment/update.txt +12 -0
  29. oci_cli/help_text_producer/data_files/text/cmdref/{service-mesh/mesh/delete.txt → kafka/cluster/change-compartment.txt} +15 -20
  30. oci_cli/help_text_producer/data_files/text/cmdref/{service-mesh/virtual-service → kafka/cluster}/create.txt +78 -66
  31. oci_cli/help_text_producer/data_files/text/cmdref/{anomaly-detection/project → kafka/cluster}/delete.txt +7 -12
  32. oci_cli/help_text_producer/data_files/text/cmdref/{os-management/managed-instance/install-all-windows-updates.txt → kafka/cluster/disable-superuser.txt} +17 -17
  33. oci_cli/help_text_producer/data_files/text/cmdref/{service-mesh/mesh/change-compartment.txt → kafka/cluster/enable-superuser.txt} +17 -18
  34. oci_cli/help_text_producer/data_files/text/cmdref/{os-management/erratum → kafka/cluster}/get.txt +6 -6
  35. oci_cli/help_text_producer/data_files/text/cmdref/{dts/export → kafka/cluster}/list.txt +36 -23
  36. oci_cli/help_text_producer/data_files/text/cmdref/{service-mesh/mesh → kafka/cluster}/update.txt +68 -45
  37. oci_cli/help_text_producer/data_files/text/cmdref/{anomaly-detection/project → kafka/cluster-config}/change-compartment.txt +10 -10
  38. oci_cli/help_text_producer/data_files/text/cmdref/{anomaly-detection/data-asset → kafka/cluster-config}/create.txt +30 -33
  39. oci_cli/help_text_producer/data_files/text/cmdref/{os-management/managed-instance-group → kafka/cluster-config}/delete.txt +7 -10
  40. oci_cli/help_text_producer/data_files/text/cmdref/{os-management/windows-update → kafka/cluster-config}/get.txt +6 -6
  41. oci_cli/help_text_producer/data_files/text/cmdref/{service-mesh/mesh → kafka/cluster-config}/list.txt +25 -30
  42. oci_cli/help_text_producer/data_files/text/cmdref/{anomaly-detection/data-asset → kafka/cluster-config}/update.txt +40 -30
  43. oci_cli/help_text_producer/data_files/text/cmdref/{anomaly-detection/work-request/cancel.txt → kafka/cluster-config-version/delete.txt} +12 -7
  44. oci_cli/help_text_producer/data_files/text/cmdref/{anomaly-detection/project → kafka/cluster-config-version}/get.txt +11 -8
  45. oci_cli/help_text_producer/data_files/text/cmdref/{dts/job → kafka/cluster-config-version}/list.txt +25 -23
  46. oci_cli/help_text_producer/data_files/text/cmdref/kafka/cluster-config-version.txt +18 -0
  47. oci_cli/help_text_producer/data_files/text/cmdref/kafka/cluster-config.txt +29 -0
  48. oci_cli/help_text_producer/data_files/text/cmdref/kafka/cluster.txt +33 -0
  49. oci_cli/help_text_producer/data_files/text/cmdref/{service-mesh → kafka}/work-request/cancel.txt +5 -5
  50. oci_cli/help_text_producer/data_files/text/cmdref/{service-mesh → kafka}/work-request/get.txt +5 -5
  51. oci_cli/help_text_producer/data_files/text/cmdref/{service-mesh → kafka}/work-request/list.txt +26 -31
  52. oci_cli/help_text_producer/data_files/text/cmdref/{service-mesh/work-request/list-work-request-errors.txt → kafka/work-request-error/list.txt} +16 -13
  53. oci_cli/help_text_producer/data_files/text/cmdref/{anomaly-detection → kafka}/work-request-error.txt +2 -1
  54. oci_cli/help_text_producer/data_files/text/cmdref/{service-mesh/work-request → kafka/work-request-log-entry}/list-work-request-logs.txt +14 -11
  55. oci_cli/help_text_producer/data_files/text/cmdref/{anomaly-detection → kafka}/work-request-log-entry.txt +2 -1
  56. oci_cli/help_text_producer/data_files/text/cmdref/kafka/work-request.txt +23 -0
  57. oci_cli/help_text_producer/data_files/text/cmdref/kafka.txt +69 -0
  58. oci_cli/help_text_producer/data_files/text/cmdref/ocvs/work-request-error/{list.txt → list-errors.txt} +5 -5
  59. oci_cli/help_text_producer/data_files/text/cmdref/ocvs/work-request-error.txt +1 -1
  60. oci_cli/help_text_producer/data_files/text/cmdref/ocvs.txt +1 -1
  61. oci_cli/help_text_producer/data_files/text/cmdref/organizations/work-request-error/{list.txt → list-errors.txt} +5 -5
  62. oci_cli/help_text_producer/data_files/text/cmdref/organizations/work-request-error.txt +1 -1
  63. oci_cli/help_text_producer/data_files/text/cmdref/organizations.txt +1 -1
  64. oci_cli/help_text_producer/data_files/text/index.txt +2 -8
  65. oci_cli/service_mapping.py +5 -20
  66. oci_cli/version.py +1 -1
  67. {oci_cli-3.64.1.dist-info → oci_cli-3.65.0.dist-info}/METADATA +2 -2
  68. {oci_cli-3.64.1.dist-info → oci_cli-3.65.0.dist-info}/RECORD +85 -470
  69. services/cims/src/oci_cli_incident/cims_cli_extended.py +1 -1
  70. services/database/src/oci_cli_database/database_cli_extended.py +56 -1
  71. services/database/src/oci_cli_database/generated/database_cli.py +159 -61
  72. services/golden_gate/src/oci_cli_golden_gate/generated/goldengate_cli.py +22 -3
  73. services/{ai_anomaly_detection → managed_kafka}/__init__.py +1 -1
  74. services/{ai_anomaly_detection → managed_kafka}/src/__init__.py +1 -1
  75. services/{ai_anomaly_detection/src/oci_cli_anomaly_detection → managed_kafka/src/oci_cli_kafka_cluster}/__init__.py +1 -1
  76. services/{ai_anomaly_detection/src/oci_cli_anomaly_detection → managed_kafka/src/oci_cli_kafka_cluster}/generated/__init__.py +1 -1
  77. services/{os_management/src/oci_cli_os_management → managed_kafka/src/oci_cli_kafka_cluster}/generated/client_mappings.py +6 -6
  78. services/managed_kafka/src/oci_cli_kafka_cluster/generated/kafkacluster_cli.py +1254 -0
  79. services/managed_kafka/src/oci_cli_kafka_cluster/kafkacluster_cli_extended.py +46 -0
  80. services/managed_kafka/tests/__init__.py +4 -0
  81. oci_cli/bin/dts.psm1 +0 -147
  82. oci_cli/bin/os-management.psm1 +0 -140
  83. oci_cli/help_text_producer/data_files/text/cmdref/anomaly-detection/data-asset/change-compartment.txt +0 -138
  84. oci_cli/help_text_producer/data_files/text/cmdref/anomaly-detection/data-asset/create-data-source-atp.txt +0 -207
  85. oci_cli/help_text_producer/data_files/text/cmdref/anomaly-detection/data-asset/create-data-source-influx.txt +0 -198
  86. oci_cli/help_text_producer/data_files/text/cmdref/anomaly-detection/data-asset/create-data-source-os.txt +0 -174
  87. oci_cli/help_text_producer/data_files/text/cmdref/anomaly-detection/data-asset/delete.txt +0 -138
  88. oci_cli/help_text_producer/data_files/text/cmdref/anomaly-detection/data-asset/get.txt +0 -100
  89. oci_cli/help_text_producer/data_files/text/cmdref/anomaly-detection/data-asset/list.txt +0 -146
  90. oci_cli/help_text_producer/data_files/text/cmdref/anomaly-detection/data-asset.txt +0 -30
  91. oci_cli/help_text_producer/data_files/text/cmdref/anomaly-detection/detect-anomaly-job/change-compartment.txt +0 -119
  92. oci_cli/help_text_producer/data_files/text/cmdref/anomaly-detection/detect-anomaly-job/create-detect-anomaly-job-embedded-input-details.txt +0 -144
  93. oci_cli/help_text_producer/data_files/text/cmdref/anomaly-detection/detect-anomaly-job/create-detect-anomaly-job-inline-input-details.txt +0 -185
  94. oci_cli/help_text_producer/data_files/text/cmdref/anomaly-detection/detect-anomaly-job/create-detect-anomaly-job-object-list-input-details.txt +0 -173
  95. oci_cli/help_text_producer/data_files/text/cmdref/anomaly-detection/detect-anomaly-job/create-detect-anomaly-job-object-store-output-details.txt +0 -175
  96. oci_cli/help_text_producer/data_files/text/cmdref/anomaly-detection/detect-anomaly-job/create.txt +0 -173
  97. oci_cli/help_text_producer/data_files/text/cmdref/anomaly-detection/detect-anomaly-job/delete.txt +0 -143
  98. oci_cli/help_text_producer/data_files/text/cmdref/anomaly-detection/detect-anomaly-job/get.txt +0 -105
  99. oci_cli/help_text_producer/data_files/text/cmdref/anomaly-detection/detect-anomaly-job/update.txt +0 -147
  100. oci_cli/help_text_producer/data_files/text/cmdref/anomaly-detection/detect-anomaly-job-collection/list-detect-anomaly-jobs.txt +0 -155
  101. oci_cli/help_text_producer/data_files/text/cmdref/anomaly-detection/detect-anomaly-job-collection.txt +0 -15
  102. oci_cli/help_text_producer/data_files/text/cmdref/anomaly-detection/detect-anomaly-job.txt +0 -31
  103. oci_cli/help_text_producer/data_files/text/cmdref/anomaly-detection/model/change-compartment.txt +0 -113
  104. oci_cli/help_text_producer/data_files/text/cmdref/anomaly-detection/model/create.txt +0 -174
  105. oci_cli/help_text_producer/data_files/text/cmdref/anomaly-detection/model/delete.txt +0 -140
  106. oci_cli/help_text_producer/data_files/text/cmdref/anomaly-detection/model/detect-anomalies-embedded.txt +0 -124
  107. oci_cli/help_text_producer/data_files/text/cmdref/anomaly-detection/model/detect-anomalies-inline.txt +0 -139
  108. oci_cli/help_text_producer/data_files/text/cmdref/anomaly-detection/model/detect-anomalies.txt +0 -125
  109. oci_cli/help_text_producer/data_files/text/cmdref/anomaly-detection/model/get.txt +0 -100
  110. oci_cli/help_text_producer/data_files/text/cmdref/anomaly-detection/model/list.txt +0 -148
  111. oci_cli/help_text_producer/data_files/text/cmdref/anomaly-detection/model/update.txt +0 -173
  112. oci_cli/help_text_producer/data_files/text/cmdref/anomaly-detection/model.txt +0 -30
  113. oci_cli/help_text_producer/data_files/text/cmdref/anomaly-detection/pe/change-compartment.txt +0 -138
  114. oci_cli/help_text_producer/data_files/text/cmdref/anomaly-detection/pe/create.txt +0 -170
  115. oci_cli/help_text_producer/data_files/text/cmdref/anomaly-detection/pe/delete.txt +0 -137
  116. oci_cli/help_text_producer/data_files/text/cmdref/anomaly-detection/pe/get.txt +0 -99
  117. oci_cli/help_text_producer/data_files/text/cmdref/anomaly-detection/pe/list.txt +0 -147
  118. oci_cli/help_text_producer/data_files/text/cmdref/anomaly-detection/pe/update.txt +0 -180
  119. oci_cli/help_text_producer/data_files/text/cmdref/anomaly-detection/pe.txt +0 -25
  120. oci_cli/help_text_producer/data_files/text/cmdref/anomaly-detection/project/create.txt +0 -152
  121. oci_cli/help_text_producer/data_files/text/cmdref/anomaly-detection/project/list.txt +0 -144
  122. oci_cli/help_text_producer/data_files/text/cmdref/anomaly-detection/project/update.txt +0 -166
  123. oci_cli/help_text_producer/data_files/text/cmdref/anomaly-detection/project.txt +0 -24
  124. oci_cli/help_text_producer/data_files/text/cmdref/anomaly-detection/work-request/get.txt +0 -91
  125. oci_cli/help_text_producer/data_files/text/cmdref/anomaly-detection/work-request/list.txt +0 -114
  126. oci_cli/help_text_producer/data_files/text/cmdref/anomaly-detection/work-request-error/list.txt +0 -110
  127. oci_cli/help_text_producer/data_files/text/cmdref/anomaly-detection/work-request-log-entry/list-work-request-logs.txt +0 -110
  128. oci_cli/help_text_producer/data_files/text/cmdref/anomaly-detection/work-request.txt +0 -18
  129. oci_cli/help_text_producer/data_files/text/cmdref/anomaly-detection.txt +0 -125
  130. oci_cli/help_text_producer/data_files/text/cmdref/dts/appliance/cancel.txt +0 -101
  131. oci_cli/help_text_producer/data_files/text/cmdref/dts/appliance/delete.txt +0 -105
  132. oci_cli/help_text_producer/data_files/text/cmdref/dts/appliance/get-passphrase.txt +0 -101
  133. oci_cli/help_text_producer/data_files/text/cmdref/dts/appliance/list.txt +0 -100
  134. oci_cli/help_text_producer/data_files/text/cmdref/dts/appliance/never-receive.txt +0 -101
  135. oci_cli/help_text_producer/data_files/text/cmdref/dts/appliance/request-entitlement.txt +0 -189
  136. oci_cli/help_text_producer/data_files/text/cmdref/dts/appliance/request-return-label.txt +0 -249
  137. oci_cli/help_text_producer/data_files/text/cmdref/dts/appliance/request.txt +0 -188
  138. oci_cli/help_text_producer/data_files/text/cmdref/dts/appliance/setup-notifications.txt +0 -63
  139. oci_cli/help_text_producer/data_files/text/cmdref/dts/appliance/show-entitlement.txt +0 -113
  140. oci_cli/help_text_producer/data_files/text/cmdref/dts/appliance/show.txt +0 -101
  141. oci_cli/help_text_producer/data_files/text/cmdref/dts/appliance/update-minimum-storage-capacity.txt +0 -107
  142. oci_cli/help_text_producer/data_files/text/cmdref/dts/appliance/update-shipping-address.txt +0 -154
  143. oci_cli/help_text_producer/data_files/text/cmdref/dts/appliance.txt +0 -38
  144. oci_cli/help_text_producer/data_files/text/cmdref/dts/export/change-compartment.txt +0 -106
  145. oci_cli/help_text_producer/data_files/text/cmdref/dts/export/configure-physical-appliance.txt +0 -114
  146. oci_cli/help_text_producer/data_files/text/cmdref/dts/export/create-policy.txt +0 -68
  147. oci_cli/help_text_producer/data_files/text/cmdref/dts/export/create.txt +0 -226
  148. oci_cli/help_text_producer/data_files/text/cmdref/dts/export/delete.txt +0 -132
  149. oci_cli/help_text_producer/data_files/text/cmdref/dts/export/generate-manifest.txt +0 -97
  150. oci_cli/help_text_producer/data_files/text/cmdref/dts/export/get-passphrase.txt +0 -68
  151. oci_cli/help_text_producer/data_files/text/cmdref/dts/export/request-appliance.txt +0 -68
  152. oci_cli/help_text_producer/data_files/text/cmdref/dts/export/request-return-label.txt +0 -245
  153. oci_cli/help_text_producer/data_files/text/cmdref/dts/export/setup-notifications.txt +0 -51
  154. oci_cli/help_text_producer/data_files/text/cmdref/dts/export/show.txt +0 -96
  155. oci_cli/help_text_producer/data_files/text/cmdref/dts/export/update.txt +0 -265
  156. oci_cli/help_text_producer/data_files/text/cmdref/dts/export.txt +0 -38
  157. oci_cli/help_text_producer/data_files/text/cmdref/dts/job/change-compartment.txt +0 -106
  158. oci_cli/help_text_producer/data_files/text/cmdref/dts/job/close.txt +0 -96
  159. oci_cli/help_text_producer/data_files/text/cmdref/dts/job/create.txt +0 -192
  160. oci_cli/help_text_producer/data_files/text/cmdref/dts/job/delete.txt +0 -100
  161. oci_cli/help_text_producer/data_files/text/cmdref/dts/job/detach-devices-details/change-compartment.txt +0 -102
  162. oci_cli/help_text_producer/data_files/text/cmdref/dts/job/detach-devices-details.txt +0 -12
  163. oci_cli/help_text_producer/data_files/text/cmdref/dts/job/setup-notifications.txt +0 -68
  164. oci_cli/help_text_producer/data_files/text/cmdref/dts/job/show.txt +0 -96
  165. oci_cli/help_text_producer/data_files/text/cmdref/dts/job/update.txt +0 -150
  166. oci_cli/help_text_producer/data_files/text/cmdref/dts/job/verify-upload-user-credentials.txt +0 -91
  167. oci_cli/help_text_producer/data_files/text/cmdref/dts/job.txt +0 -34
  168. oci_cli/help_text_producer/data_files/text/cmdref/dts/nfs-dataset/activate.txt +0 -93
  169. oci_cli/help_text_producer/data_files/text/cmdref/dts/nfs-dataset/create.txt +0 -93
  170. oci_cli/help_text_producer/data_files/text/cmdref/dts/nfs-dataset/deactivate.txt +0 -77
  171. oci_cli/help_text_producer/data_files/text/cmdref/dts/nfs-dataset/delete.txt +0 -77
  172. oci_cli/help_text_producer/data_files/text/cmdref/dts/nfs-dataset/get-seal-manifest.txt +0 -81
  173. oci_cli/help_text_producer/data_files/text/cmdref/dts/nfs-dataset/list.txt +0 -67
  174. oci_cli/help_text_producer/data_files/text/cmdref/dts/nfs-dataset/reopen.txt +0 -77
  175. oci_cli/help_text_producer/data_files/text/cmdref/dts/nfs-dataset/seal-status.txt +0 -77
  176. oci_cli/help_text_producer/data_files/text/cmdref/dts/nfs-dataset/seal.txt +0 -75
  177. oci_cli/help_text_producer/data_files/text/cmdref/dts/nfs-dataset/set-export.txt +0 -93
  178. oci_cli/help_text_producer/data_files/text/cmdref/dts/nfs-dataset/show.txt +0 -77
  179. oci_cli/help_text_producer/data_files/text/cmdref/dts/nfs-dataset.txt +0 -34
  180. oci_cli/help_text_producer/data_files/text/cmdref/dts/physical-appliance/configure-encryption.txt +0 -81
  181. oci_cli/help_text_producer/data_files/text/cmdref/dts/physical-appliance/finalize.txt +0 -89
  182. oci_cli/help_text_producer/data_files/text/cmdref/dts/physical-appliance/initialize-authentication.txt +0 -106
  183. oci_cli/help_text_producer/data_files/text/cmdref/dts/physical-appliance/list.txt +0 -63
  184. oci_cli/help_text_producer/data_files/text/cmdref/dts/physical-appliance/show.txt +0 -67
  185. oci_cli/help_text_producer/data_files/text/cmdref/dts/physical-appliance/unlock.txt +0 -75
  186. oci_cli/help_text_producer/data_files/text/cmdref/dts/physical-appliance/unregister.txt +0 -67
  187. oci_cli/help_text_producer/data_files/text/cmdref/dts/physical-appliance.txt +0 -26
  188. oci_cli/help_text_producer/data_files/text/cmdref/dts/verify/configured.txt +0 -111
  189. oci_cli/help_text_producer/data_files/text/cmdref/dts/verify/copied.txt +0 -105
  190. oci_cli/help_text_producer/data_files/text/cmdref/dts/verify/monitored.txt +0 -102
  191. oci_cli/help_text_producer/data_files/text/cmdref/dts/verify/prepared.txt +0 -104
  192. oci_cli/help_text_producer/data_files/text/cmdref/dts/verify/shipped.txt +0 -106
  193. oci_cli/help_text_producer/data_files/text/cmdref/dts/verify.txt +0 -22
  194. oci_cli/help_text_producer/data_files/text/cmdref/dts.txt +0 -144
  195. oci_cli/help_text_producer/data_files/text/cmdref/os-management/erratum-summary/list-errata.txt +0 -310
  196. oci_cli/help_text_producer/data_files/text/cmdref/os-management/erratum-summary.txt +0 -15
  197. oci_cli/help_text_producer/data_files/text/cmdref/os-management/erratum.txt +0 -14
  198. oci_cli/help_text_producer/data_files/text/cmdref/os-management/event/delete-content.txt +0 -113
  199. oci_cli/help_text_producer/data_files/text/cmdref/os-management/event/get-content.txt +0 -108
  200. oci_cli/help_text_producer/data_files/text/cmdref/os-management/event/get-report.txt +0 -270
  201. oci_cli/help_text_producer/data_files/text/cmdref/os-management/event/list-related-events.txt +0 -307
  202. oci_cli/help_text_producer/data_files/text/cmdref/os-management/event/list.txt +0 -319
  203. oci_cli/help_text_producer/data_files/text/cmdref/os-management/event/update.txt +0 -139
  204. oci_cli/help_text_producer/data_files/text/cmdref/os-management/event/upload-content.txt +0 -110
  205. oci_cli/help_text_producer/data_files/text/cmdref/os-management/event.txt +0 -27
  206. oci_cli/help_text_producer/data_files/text/cmdref/os-management/managed-instance/attach-child.txt +0 -102
  207. oci_cli/help_text_producer/data_files/text/cmdref/os-management/managed-instance/attach-parent.txt +0 -104
  208. oci_cli/help_text_producer/data_files/text/cmdref/os-management/managed-instance/detach-child.txt +0 -101
  209. oci_cli/help_text_producer/data_files/text/cmdref/os-management/managed-instance/detach-parent.txt +0 -102
  210. oci_cli/help_text_producer/data_files/text/cmdref/os-management/managed-instance/disable-module-stream.txt +0 -138
  211. oci_cli/help_text_producer/data_files/text/cmdref/os-management/managed-instance/enable-module-stream.txt +0 -139
  212. oci_cli/help_text_producer/data_files/text/cmdref/os-management/managed-instance/get.txt +0 -91
  213. oci_cli/help_text_producer/data_files/text/cmdref/os-management/managed-instance/install-all-updates.txt +0 -125
  214. oci_cli/help_text_producer/data_files/text/cmdref/os-management/managed-instance/install-module-profile.txt +0 -141
  215. oci_cli/help_text_producer/data_files/text/cmdref/os-management/managed-instance/install-package.txt +0 -123
  216. oci_cli/help_text_producer/data_files/text/cmdref/os-management/managed-instance/install-update.txt +0 -123
  217. oci_cli/help_text_producer/data_files/text/cmdref/os-management/managed-instance/install-windows-update.txt +0 -124
  218. oci_cli/help_text_producer/data_files/text/cmdref/os-management/managed-instance/list-available-packages.txt +0 -142
  219. oci_cli/help_text_producer/data_files/text/cmdref/os-management/managed-instance/list-available-software-sources.txt +0 -141
  220. oci_cli/help_text_producer/data_files/text/cmdref/os-management/managed-instance/list-available-updates.txt +0 -141
  221. oci_cli/help_text_producer/data_files/text/cmdref/os-management/managed-instance/list-available-windows-updates.txt +0 -150
  222. oci_cli/help_text_producer/data_files/text/cmdref/os-management/managed-instance/list-installed-packages.txt +0 -141
  223. oci_cli/help_text_producer/data_files/text/cmdref/os-management/managed-instance/list-installed-windows-updates.txt +0 -142
  224. oci_cli/help_text_producer/data_files/text/cmdref/os-management/managed-instance/list-managed-instance-errata.txt +0 -141
  225. oci_cli/help_text_producer/data_files/text/cmdref/os-management/managed-instance/list-module-profiles.txt +0 -210
  226. oci_cli/help_text_producer/data_files/text/cmdref/os-management/managed-instance/list-module-streams.txt +0 -210
  227. oci_cli/help_text_producer/data_files/text/cmdref/os-management/managed-instance/list.txt +0 -144
  228. oci_cli/help_text_producer/data_files/text/cmdref/os-management/managed-instance/remove-module-profile.txt +0 -142
  229. oci_cli/help_text_producer/data_files/text/cmdref/os-management/managed-instance/remove-package.txt +0 -123
  230. oci_cli/help_text_producer/data_files/text/cmdref/os-management/managed-instance/switch-module-stream.txt +0 -138
  231. oci_cli/help_text_producer/data_files/text/cmdref/os-management/managed-instance-group/attach.txt +0 -102
  232. oci_cli/help_text_producer/data_files/text/cmdref/os-management/managed-instance-group/change-compartment.txt +0 -107
  233. oci_cli/help_text_producer/data_files/text/cmdref/os-management/managed-instance-group/create.txt +0 -163
  234. oci_cli/help_text_producer/data_files/text/cmdref/os-management/managed-instance-group/detach.txt +0 -99
  235. oci_cli/help_text_producer/data_files/text/cmdref/os-management/managed-instance-group/get.txt +0 -94
  236. oci_cli/help_text_producer/data_files/text/cmdref/os-management/managed-instance-group/install-all-updates.txt +0 -128
  237. oci_cli/help_text_producer/data_files/text/cmdref/os-management/managed-instance-group/list.txt +0 -152
  238. oci_cli/help_text_producer/data_files/text/cmdref/os-management/managed-instance-group/update.txt +0 -166
  239. oci_cli/help_text_producer/data_files/text/cmdref/os-management/managed-instance-group.txt +0 -30
  240. oci_cli/help_text_producer/data_files/text/cmdref/os-management/managed-instance.txt +0 -64
  241. oci_cli/help_text_producer/data_files/text/cmdref/os-management/module-profile/get.txt +0 -137
  242. oci_cli/help_text_producer/data_files/text/cmdref/os-management/module-profile/list.txt +0 -189
  243. oci_cli/help_text_producer/data_files/text/cmdref/os-management/module-profile.txt +0 -16
  244. oci_cli/help_text_producer/data_files/text/cmdref/os-management/module-stream/get.txt +0 -132
  245. oci_cli/help_text_producer/data_files/text/cmdref/os-management/module-stream/list.txt +0 -188
  246. oci_cli/help_text_producer/data_files/text/cmdref/os-management/module-stream.txt +0 -16
  247. oci_cli/help_text_producer/data_files/text/cmdref/os-management/scheduled-job/change-compartment.txt +0 -110
  248. oci_cli/help_text_producer/data_files/text/cmdref/os-management/scheduled-job/create.txt +0 -357
  249. oci_cli/help_text_producer/data_files/text/cmdref/os-management/scheduled-job/delete.txt +0 -135
  250. oci_cli/help_text_producer/data_files/text/cmdref/os-management/scheduled-job/get.txt +0 -97
  251. oci_cli/help_text_producer/data_files/text/cmdref/os-management/scheduled-job/list-upcoming.txt +0 -251
  252. oci_cli/help_text_producer/data_files/text/cmdref/os-management/scheduled-job/list.txt +0 -174
  253. oci_cli/help_text_producer/data_files/text/cmdref/os-management/scheduled-job/run-now.txt +0 -106
  254. oci_cli/help_text_producer/data_files/text/cmdref/os-management/scheduled-job/skip-next-execution.txt +0 -106
  255. oci_cli/help_text_producer/data_files/text/cmdref/os-management/scheduled-job/update.txt +0 -323
  256. oci_cli/help_text_producer/data_files/text/cmdref/os-management/scheduled-job.txt +0 -30
  257. oci_cli/help_text_producer/data_files/text/cmdref/os-management/software-source/add-packages.txt +0 -111
  258. oci_cli/help_text_producer/data_files/text/cmdref/os-management/software-source/change-compartment.txt +0 -108
  259. oci_cli/help_text_producer/data_files/text/cmdref/os-management/software-source/create.txt +0 -187
  260. oci_cli/help_text_producer/data_files/text/cmdref/os-management/software-source/delete.txt +0 -133
  261. oci_cli/help_text_producer/data_files/text/cmdref/os-management/software-source/get-package.txt +0 -101
  262. oci_cli/help_text_producer/data_files/text/cmdref/os-management/software-source/get.txt +0 -95
  263. oci_cli/help_text_producer/data_files/text/cmdref/os-management/software-source/list-packages.txt +0 -145
  264. oci_cli/help_text_producer/data_files/text/cmdref/os-management/software-source/list.txt +0 -144
  265. oci_cli/help_text_producer/data_files/text/cmdref/os-management/software-source/remove-packages.txt +0 -112
  266. oci_cli/help_text_producer/data_files/text/cmdref/os-management/software-source/search-packages.txt +0 -124
  267. oci_cli/help_text_producer/data_files/text/cmdref/os-management/software-source/update.txt +0 -187
  268. oci_cli/help_text_producer/data_files/text/cmdref/os-management/software-source.txt +0 -34
  269. oci_cli/help_text_producer/data_files/text/cmdref/os-management/update-managed-instance-details/update-managed-instance.txt +0 -107
  270. oci_cli/help_text_producer/data_files/text/cmdref/os-management/update-managed-instance-details.txt +0 -14
  271. oci_cli/help_text_producer/data_files/text/cmdref/os-management/windows-update/list.txt +0 -129
  272. oci_cli/help_text_producer/data_files/text/cmdref/os-management/windows-update.txt +0 -16
  273. oci_cli/help_text_producer/data_files/text/cmdref/os-management/work-request/get.txt +0 -91
  274. oci_cli/help_text_producer/data_files/text/cmdref/os-management/work-request/list-errors.txt +0 -128
  275. oci_cli/help_text_producer/data_files/text/cmdref/os-management/work-request/list-logs.txt +0 -128
  276. oci_cli/help_text_producer/data_files/text/cmdref/os-management/work-request/list.txt +0 -148
  277. oci_cli/help_text_producer/data_files/text/cmdref/os-management/work-request.txt +0 -20
  278. oci_cli/help_text_producer/data_files/text/cmdref/os-management.txt +0 -187
  279. oci_cli/help_text_producer/data_files/text/cmdref/service-mesh/access-policy/change-compartment.txt +0 -143
  280. oci_cli/help_text_producer/data_files/text/cmdref/service-mesh/access-policy/create.txt +0 -187
  281. oci_cli/help_text_producer/data_files/text/cmdref/service-mesh/access-policy/delete.txt +0 -141
  282. oci_cli/help_text_producer/data_files/text/cmdref/service-mesh/access-policy/get.txt +0 -103
  283. oci_cli/help_text_producer/data_files/text/cmdref/service-mesh/access-policy/list.txt +0 -150
  284. oci_cli/help_text_producer/data_files/text/cmdref/service-mesh/access-policy/update.txt +0 -193
  285. oci_cli/help_text_producer/data_files/text/cmdref/service-mesh/access-policy.txt +0 -25
  286. oci_cli/help_text_producer/data_files/text/cmdref/service-mesh/debug/report.txt +0 -60
  287. oci_cli/help_text_producer/data_files/text/cmdref/service-mesh/debug.txt +0 -14
  288. oci_cli/help_text_producer/data_files/text/cmdref/service-mesh/ingress-gateway/change-compartment.txt +0 -143
  289. oci_cli/help_text_producer/data_files/text/cmdref/service-mesh/ingress-gateway/create.txt +0 -210
  290. oci_cli/help_text_producer/data_files/text/cmdref/service-mesh/ingress-gateway/delete.txt +0 -141
  291. oci_cli/help_text_producer/data_files/text/cmdref/service-mesh/ingress-gateway/get.txt +0 -103
  292. oci_cli/help_text_producer/data_files/text/cmdref/service-mesh/ingress-gateway/list.txt +0 -150
  293. oci_cli/help_text_producer/data_files/text/cmdref/service-mesh/ingress-gateway/update.txt +0 -215
  294. oci_cli/help_text_producer/data_files/text/cmdref/service-mesh/ingress-gateway-route-table/change-compartment.txt +0 -147
  295. oci_cli/help_text_producer/data_files/text/cmdref/service-mesh/ingress-gateway-route-table/create.txt +0 -197
  296. oci_cli/help_text_producer/data_files/text/cmdref/service-mesh/ingress-gateway-route-table/delete.txt +0 -145
  297. oci_cli/help_text_producer/data_files/text/cmdref/service-mesh/ingress-gateway-route-table/get.txt +0 -107
  298. oci_cli/help_text_producer/data_files/text/cmdref/service-mesh/ingress-gateway-route-table/list.txt +0 -150
  299. oci_cli/help_text_producer/data_files/text/cmdref/service-mesh/ingress-gateway-route-table/update.txt +0 -203
  300. oci_cli/help_text_producer/data_files/text/cmdref/service-mesh/ingress-gateway-route-table.txt +0 -25
  301. oci_cli/help_text_producer/data_files/text/cmdref/service-mesh/ingress-gateway.txt +0 -26
  302. oci_cli/help_text_producer/data_files/text/cmdref/service-mesh/mesh/create.txt +0 -190
  303. oci_cli/help_text_producer/data_files/text/cmdref/service-mesh/mesh/get.txt +0 -99
  304. oci_cli/help_text_producer/data_files/text/cmdref/service-mesh/mesh.txt +0 -27
  305. oci_cli/help_text_producer/data_files/text/cmdref/service-mesh/proxy-details/get.txt +0 -79
  306. oci_cli/help_text_producer/data_files/text/cmdref/service-mesh/proxy-details.txt +0 -14
  307. oci_cli/help_text_producer/data_files/text/cmdref/service-mesh/virtual-deployment/change-compartment.txt +0 -143
  308. oci_cli/help_text_producer/data_files/text/cmdref/service-mesh/virtual-deployment/create-virtual-deployment-disabled-service-discovery-configuration.txt +0 -204
  309. oci_cli/help_text_producer/data_files/text/cmdref/service-mesh/virtual-deployment/create-virtual-deployment-dns-service-discovery-configuration.txt +0 -209
  310. oci_cli/help_text_producer/data_files/text/cmdref/service-mesh/virtual-deployment/create.txt +0 -215
  311. oci_cli/help_text_producer/data_files/text/cmdref/service-mesh/virtual-deployment/delete.txt +0 -141
  312. oci_cli/help_text_producer/data_files/text/cmdref/service-mesh/virtual-deployment/get.txt +0 -103
  313. oci_cli/help_text_producer/data_files/text/cmdref/service-mesh/virtual-deployment/list.txt +0 -150
  314. oci_cli/help_text_producer/data_files/text/cmdref/service-mesh/virtual-deployment/update-virtual-deployment-disabled-service-discovery-configuration.txt +0 -204
  315. oci_cli/help_text_producer/data_files/text/cmdref/service-mesh/virtual-deployment/update-virtual-deployment-dns-service-discovery-configuration.txt +0 -209
  316. oci_cli/help_text_producer/data_files/text/cmdref/service-mesh/virtual-deployment/update.txt +0 -215
  317. oci_cli/help_text_producer/data_files/text/cmdref/service-mesh/virtual-deployment.txt +0 -33
  318. oci_cli/help_text_producer/data_files/text/cmdref/service-mesh/virtual-service/change-compartment.txt +0 -141
  319. oci_cli/help_text_producer/data_files/text/cmdref/service-mesh/virtual-service/delete.txt +0 -139
  320. oci_cli/help_text_producer/data_files/text/cmdref/service-mesh/virtual-service/get.txt +0 -101
  321. oci_cli/help_text_producer/data_files/text/cmdref/service-mesh/virtual-service/list.txt +0 -150
  322. oci_cli/help_text_producer/data_files/text/cmdref/service-mesh/virtual-service/update.txt +0 -211
  323. oci_cli/help_text_producer/data_files/text/cmdref/service-mesh/virtual-service-route-table/change-compartment.txt +0 -145
  324. oci_cli/help_text_producer/data_files/text/cmdref/service-mesh/virtual-service-route-table/create.txt +0 -195
  325. oci_cli/help_text_producer/data_files/text/cmdref/service-mesh/virtual-service-route-table/delete.txt +0 -143
  326. oci_cli/help_text_producer/data_files/text/cmdref/service-mesh/virtual-service-route-table/get.txt +0 -105
  327. oci_cli/help_text_producer/data_files/text/cmdref/service-mesh/virtual-service-route-table/list.txt +0 -150
  328. oci_cli/help_text_producer/data_files/text/cmdref/service-mesh/virtual-service-route-table/update.txt +0 -201
  329. oci_cli/help_text_producer/data_files/text/cmdref/service-mesh/virtual-service-route-table.txt +0 -25
  330. oci_cli/help_text_producer/data_files/text/cmdref/service-mesh/virtual-service.txt +0 -27
  331. oci_cli/help_text_producer/data_files/text/cmdref/service-mesh/work-request.txt +0 -22
  332. oci_cli/help_text_producer/data_files/text/cmdref/service-mesh.txt +0 -139
  333. services/ai_anomaly_detection/src/oci_cli_anomaly_detection/anomalydetection_cli_extended.py +0 -234
  334. services/ai_anomaly_detection/src/oci_cli_anomaly_detection/generated/anomalydetection_cli.py +0 -2665
  335. services/ai_anomaly_detection/src/oci_cli_anomaly_detection/generated/client_mappings.py +0 -14
  336. services/ai_anomaly_detection/tests/__init__.py +0 -4
  337. services/dts/__init__.py +0 -4
  338. services/dts/src/__init__.py +0 -4
  339. services/dts/src/oci_cli_appliance_export_job/__init__.py +0 -4
  340. services/dts/src/oci_cli_appliance_export_job/applianceexportjob_cli_extended.py +0 -582
  341. services/dts/src/oci_cli_appliance_export_job/applianceexportjob_constants.py +0 -11
  342. services/dts/src/oci_cli_appliance_export_job/generated/__init__.py +0 -4
  343. services/dts/src/oci_cli_appliance_export_job/generated/applianceexportjob_cli.py +0 -428
  344. services/dts/src/oci_cli_appliance_export_job/generated/client_mappings.py +0 -14
  345. services/dts/src/oci_cli_appliance_export_job/manifest/__init__.py +0 -3
  346. services/dts/src/oci_cli_appliance_export_job/manifest/manifest_constants.py +0 -12
  347. services/dts/src/oci_cli_appliance_export_job/manifest/manifest_iterator.py +0 -86
  348. services/dts/src/oci_cli_appliance_export_job/manifest/manifest_line_item.py +0 -22
  349. services/dts/src/oci_cli_appliance_export_job/manifest/manifest_stats.py +0 -93
  350. services/dts/src/oci_cli_appliance_export_job/manifest/manifest_stats_consumer.py +0 -15
  351. services/dts/src/oci_cli_appliance_export_job/manifest/manifest_writer.py +0 -117
  352. services/dts/src/oci_cli_appliance_export_job/manifest/object_uploader.py +0 -124
  353. services/dts/src/oci_cli_dts/__init__.py +0 -4
  354. services/dts/src/oci_cli_dts/appliance_auth_manager.py +0 -59
  355. services/dts/src/oci_cli_dts/appliance_cert_manager.py +0 -51
  356. services/dts/src/oci_cli_dts/appliance_client_proxy.py +0 -57
  357. services/dts/src/oci_cli_dts/appliance_config.py +0 -34
  358. services/dts/src/oci_cli_dts/appliance_config_manager.py +0 -145
  359. services/dts/src/oci_cli_dts/appliance_config_spec.py +0 -38
  360. services/dts/src/oci_cli_dts/appliance_constants.py +0 -35
  361. services/dts/src/oci_cli_dts/appliance_init_auth.py +0 -81
  362. services/dts/src/oci_cli_dts/appliance_init_auth_spec.py +0 -32
  363. services/dts/src/oci_cli_dts/base_client.py +0 -102
  364. services/dts/src/oci_cli_dts/cli_utils.py +0 -131
  365. services/dts/src/oci_cli_dts/dts_service_cli_extended.py +0 -95
  366. services/dts/src/oci_cli_dts/dts_transform.py +0 -31
  367. services/dts/src/oci_cli_dts/generated/__init__.py +0 -4
  368. services/dts/src/oci_cli_dts/generated/dts_service_cli.py +0 -14
  369. services/dts/src/oci_cli_dts/nfs_dataset_client_proxy.py +0 -85
  370. services/dts/src/oci_cli_dts/nfsdataset_cli_extended.py +0 -371
  371. services/dts/src/oci_cli_dts/physical_appliance_control_plane/__init__.py +0 -3
  372. services/dts/src/oci_cli_dts/physical_appliance_control_plane/client/__init__.py +0 -16
  373. services/dts/src/oci_cli_dts/physical_appliance_control_plane/client/diagnose_tools_client.py +0 -163
  374. services/dts/src/oci_cli_dts/physical_appliance_control_plane/client/diagnose_tools_client_composite_operations.py +0 -24
  375. services/dts/src/oci_cli_dts/physical_appliance_control_plane/client/models/__init__.py +0 -28
  376. services/dts/src/oci_cli_dts/physical_appliance_control_plane/client/models/dataset_seal_status.py +0 -282
  377. services/dts/src/oci_cli_dts/physical_appliance_control_plane/client/models/details.py +0 -66
  378. services/dts/src/oci_cli_dts/physical_appliance_control_plane/client/models/nfs_dataset_info.py +0 -191
  379. services/dts/src/oci_cli_dts/physical_appliance_control_plane/client/models/nfs_dataset_spec.py +0 -93
  380. services/dts/src/oci_cli_dts/physical_appliance_control_plane/client/models/nfs_export_config.py +0 -174
  381. services/dts/src/oci_cli_dts/physical_appliance_control_plane/client/models/nfs_export_details.py +0 -66
  382. services/dts/src/oci_cli_dts/physical_appliance_control_plane/client/models/object_storage_upload_config.py +0 -201
  383. services/dts/src/oci_cli_dts/physical_appliance_control_plane/client/models/passphrase_details.py +0 -66
  384. services/dts/src/oci_cli_dts/physical_appliance_control_plane/client/models/physical_transfer_appliance.py +0 -214
  385. services/dts/src/oci_cli_dts/physical_appliance_control_plane/client/nfs_dataset_client.py +0 -835
  386. services/dts/src/oci_cli_dts/physical_appliance_control_plane/client/nfs_dataset_client_composite_operations.py +0 -24
  387. services/dts/src/oci_cli_dts/physical_appliance_control_plane/client/physical_transfer_appliance_client.py +0 -374
  388. services/dts/src/oci_cli_dts/physical_appliance_control_plane/client/physical_transfer_appliance_client_composite_operations.py +0 -24
  389. services/dts/src/oci_cli_dts/physical_appliance_control_plane/service_endpoints.py +0 -9
  390. services/dts/src/oci_cli_dts/physicalappliance_cli_extended.py +0 -590
  391. services/dts/src/oci_cli_dts/verify_cli_extended.py +0 -494
  392. services/dts/src/oci_cli_shipping_vendors/__init__.py +0 -4
  393. services/dts/src/oci_cli_shipping_vendors/generated/__init__.py +0 -4
  394. services/dts/src/oci_cli_shipping_vendors/generated/client_mappings.py +0 -14
  395. services/dts/src/oci_cli_shipping_vendors/generated/shippingvendors_cli.py +0 -49
  396. services/dts/src/oci_cli_transfer_appliance/__init__.py +0 -4
  397. services/dts/src/oci_cli_transfer_appliance/generated/__init__.py +0 -4
  398. services/dts/src/oci_cli_transfer_appliance/generated/client_mappings.py +0 -14
  399. services/dts/src/oci_cli_transfer_appliance/generated/transferappliance_cli.py +0 -364
  400. services/dts/src/oci_cli_transfer_appliance/transferappliance_cli_extended.py +0 -362
  401. services/dts/src/oci_cli_transfer_appliance_entitlement/__init__.py +0 -4
  402. services/dts/src/oci_cli_transfer_appliance_entitlement/generated/__init__.py +0 -4
  403. services/dts/src/oci_cli_transfer_appliance_entitlement/generated/client_mappings.py +0 -14
  404. services/dts/src/oci_cli_transfer_appliance_entitlement/generated/transferapplianceentitlement_cli.py +0 -155
  405. services/dts/src/oci_cli_transfer_appliance_entitlement/transferapplianceentitlement_cli_extended.py +0 -66
  406. services/dts/src/oci_cli_transfer_device/__init__.py +0 -4
  407. services/dts/src/oci_cli_transfer_device/generated/__init__.py +0 -4
  408. services/dts/src/oci_cli_transfer_device/generated/client_mappings.py +0 -14
  409. services/dts/src/oci_cli_transfer_device/generated/transferdevice_cli.py +0 -209
  410. services/dts/src/oci_cli_transfer_job/__init__.py +0 -4
  411. services/dts/src/oci_cli_transfer_job/generated/__init__.py +0 -4
  412. services/dts/src/oci_cli_transfer_job/generated/client_mappings.py +0 -14
  413. services/dts/src/oci_cli_transfer_job/generated/transferjob_cli.py +0 -368
  414. services/dts/src/oci_cli_transfer_job/transferjob_cli_extended.py +0 -281
  415. services/dts/src/oci_cli_transfer_package/__init__.py +0 -4
  416. services/dts/src/oci_cli_transfer_package/generated/__init__.py +0 -4
  417. services/dts/src/oci_cli_transfer_package/generated/client_mappings.py +0 -14
  418. services/dts/src/oci_cli_transfer_package/generated/transferpackage_cli.py +0 -326
  419. services/dts/tests/__init__.py +0 -4
  420. services/os_management/__init__.py +0 -4
  421. services/os_management/src/__init__.py +0 -4
  422. services/os_management/src/oci_cli_event/__init__.py +0 -4
  423. services/os_management/src/oci_cli_event/event_cli_extended.py +0 -34
  424. services/os_management/src/oci_cli_event/generated/__init__.py +0 -4
  425. services/os_management/src/oci_cli_event/generated/client_mappings.py +0 -14
  426. services/os_management/src/oci_cli_event/generated/event_cli.py +0 -430
  427. services/os_management/src/oci_cli_os_management/__init__.py +0 -4
  428. services/os_management/src/oci_cli_os_management/generated/__init__.py +0 -4
  429. services/os_management/src/oci_cli_os_management/generated/os_management_service_cli.py +0 -15
  430. services/os_management/src/oci_cli_os_management/generated/osmanagement_cli.py +0 -4009
  431. services/os_management/src/oci_cli_os_management/osmanagement_cli_extended.py +0 -244
  432. services/os_management/tests/__init__.py +0 -4
  433. services/service_mesh/__init__.py +0 -4
  434. services/service_mesh/src/__init__.py +0 -4
  435. services/service_mesh/src/oci_cli_service_mesh/__init__.py +0 -4
  436. services/service_mesh/src/oci_cli_service_mesh/generated/__init__.py +0 -4
  437. services/service_mesh/src/oci_cli_service_mesh/generated/client_mappings.py +0 -14
  438. services/service_mesh/src/oci_cli_service_mesh/generated/servicemesh_cli.py +0 -3306
  439. services/service_mesh/src/oci_cli_service_mesh/service_mesh_cli_extended.py +0 -57
  440. services/service_mesh/src/oci_cli_service_mesh/service_mesh_troubleshoot/__init__.py +0 -76
  441. services/service_mesh/src/oci_cli_service_mesh/service_mesh_troubleshoot/aggregators/__init__.py +0 -3
  442. services/service_mesh/src/oci_cli_service_mesh/service_mesh_troubleshoot/aggregators/aggregation_orchestrator.py +0 -88
  443. services/service_mesh/src/oci_cli_service_mesh/service_mesh_troubleshoot/bundle_analyser.py +0 -163
  444. services/service_mesh/src/oci_cli_service_mesh/service_mesh_troubleshoot/event.py +0 -43
  445. services/service_mesh/src/oci_cli_service_mesh/service_mesh_troubleshoot/handlers/__init__.py +0 -3
  446. services/service_mesh/src/oci_cli_service_mesh/service_mesh_troubleshoot/handlers/debug_handler.py +0 -209
  447. services/service_mesh/src/oci_cli_service_mesh/service_mesh_troubleshoot/report_orchestrator.py +0 -82
  448. services/service_mesh/src/oci_cli_service_mesh/service_mesh_troubleshoot/task_orchestrator.py +0 -76
  449. services/service_mesh/src/oci_cli_service_mesh/service_mesh_troubleshoot/task_request.py +0 -232
  450. services/service_mesh/src/oci_cli_service_mesh/service_mesh_troubleshoot/tasks/__init__.py +0 -3
  451. services/service_mesh/src/oci_cli_service_mesh/service_mesh_troubleshoot/tasks/common_worker.py +0 -116
  452. services/service_mesh/src/oci_cli_service_mesh/service_mesh_troubleshoot/tasks/csv_worker.py +0 -39
  453. services/service_mesh/src/oci_cli_service_mesh/service_mesh_troubleshoot/tasks/file_worker.py +0 -33
  454. services/service_mesh/src/oci_cli_service_mesh/service_mesh_troubleshoot/tasks/igd_worker.py +0 -48
  455. services/service_mesh/src/oci_cli_service_mesh/service_mesh_troubleshoot/tasks/mesh_report_worker.py +0 -60
  456. services/service_mesh/src/oci_cli_service_mesh/service_mesh_troubleshoot/tasks/mesh_resources_worker.py +0 -49
  457. services/service_mesh/src/oci_cli_service_mesh/service_mesh_troubleshoot/tasks/namespaces_worker.py +0 -33
  458. services/service_mesh/src/oci_cli_service_mesh/service_mesh_troubleshoot/tasks/oci_cli_version_worker.py +0 -34
  459. services/service_mesh/src/oci_cli_service_mesh/service_mesh_troubleshoot/tasks/pod_worker.py +0 -112
  460. services/service_mesh/src/oci_cli_service_mesh/service_mesh_troubleshoot/tasks/resource_worker.py +0 -75
  461. services/service_mesh/src/oci_cli_service_mesh/service_mesh_troubleshoot/tasks/services_worker.py +0 -34
  462. services/service_mesh/src/oci_cli_service_mesh/service_mesh_troubleshoot/tasks/task_worker.py +0 -33
  463. services/service_mesh/src/oci_cli_service_mesh/service_mesh_troubleshoot/tasks/validate_crds_worker.py +0 -34
  464. services/service_mesh/src/oci_cli_service_mesh/service_mesh_troubleshoot/tasks/vdb_worker.py +0 -51
  465. services/service_mesh/src/oci_cli_service_mesh/service_mesh_troubleshoot/tasks/webhooks_worker.py +0 -34
  466. services/service_mesh/src/oci_cli_service_mesh/service_mesh_troubleshoot/utils/__init__.py +0 -3
  467. services/service_mesh/src/oci_cli_service_mesh/service_mesh_troubleshoot/utils/bundle_helper.py +0 -154
  468. services/service_mesh/src/oci_cli_service_mesh/service_mesh_troubleshoot/utils/constants.py +0 -137
  469. services/service_mesh/src/oci_cli_service_mesh/service_mesh_troubleshoot/utils/helper.py +0 -12
  470. services/service_mesh/src/oci_cli_service_mesh/service_mesh_troubleshoot/utils/kubectl_command_helper.py +0 -646
  471. services/service_mesh/src/oci_cli_service_mesh/service_mesh_troubleshoot/utils/messages.py +0 -16
  472. services/service_mesh/src/oci_cli_service_mesh/service_mesh_troubleshoot/utils/summary.py +0 -222
  473. services/service_mesh/tests/__init__.py +0 -4
  474. {oci_cli-3.64.1.dist-info → oci_cli-3.65.0.dist-info}/LICENSE.txt +0 -0
  475. {oci_cli-3.64.1.dist-info → oci_cli-3.65.0.dist-info}/THIRD_PARTY_LICENSES.txt +0 -0
  476. {oci_cli-3.64.1.dist-info → oci_cli-3.65.0.dist-info}/WHEEL +0 -0
  477. {oci_cli-3.64.1.dist-info → oci_cli-3.65.0.dist-info}/entry_points.txt +0 -0
  478. {oci_cli-3.64.1.dist-info → oci_cli-3.65.0.dist-info}/top_level.txt +0 -0
@@ -1,646 +0,0 @@
1
- # coding: utf-8
2
- # Copyright (c) 2016, 2021, Oracle and/or its affiliates. All rights reserved.
3
- # This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
4
- import concurrent.futures
5
- import json
6
- import os
7
- import re
8
- import subprocess
9
- from io import StringIO
10
-
11
- import click
12
- import sys
13
- import time
14
-
15
- from services.service_mesh.src.oci_cli_service_mesh.service_mesh_troubleshoot.utils.constants import \
16
- MESH_CUSTOM_RESOURCE_DICT, OCI_SM_PROXY, IGD_LABEL, MESH_CRD_DICT, ITEMS, METADATA, NAME, NAMESPACE, SPEC, \
17
- CONTAINERS, IMAGE, STATUS, CONTAINER_STATUSES, STATE, SIDECAR_INJECTION_LABEL_ENABLED, MESH_ID, VIRTUAL_SERVICE_ID, \
18
- INGRESS_GATEWAY_ID, VIRTUAL_DEPLOYMENT_ID, LABELS, ANNOTATIONS
19
- from services.service_mesh.src.oci_cli_service_mesh.service_mesh_troubleshoot.utils.messages import Messages
20
- from services.service_mesh.src.oci_cli_service_mesh.service_mesh_troubleshoot.utils.summary import BasicPodSummary, \
21
- PodSummary
22
- from services.service_mesh.src.oci_cli_service_mesh.service_mesh_troubleshoot.utils.summary import \
23
- CustomResourceSummary, MeshResources
24
-
25
-
26
- def construct_empty_pod_summary():
27
- name = 'Unavailable'
28
- namespace = 'Unavailable'
29
- labels = {}
30
- version = 'Unavailable'
31
- status = 'Unavailable'
32
- return BasicPodSummary(name=name,
33
- namespace=namespace,
34
- status=status,
35
- version=version,
36
- labels=labels)
37
-
38
-
39
- def get_name_namespace_labels_from_pod_json(pod):
40
- name, namespace, labels = None, None, None
41
- if pod is not None and METADATA in pod:
42
- if NAME in pod[METADATA]:
43
- name = pod[METADATA][NAME]
44
- if NAMESPACE in pod[METADATA]:
45
- namespace = pod[METADATA][NAMESPACE]
46
- if LABELS in pod[METADATA]:
47
- labels = pod[METADATA][LABELS]
48
- return name, namespace, labels
49
-
50
-
51
- def get_proxy_details_from_pod_json(pod):
52
- status, proxy_status, proxy_version = None, None, None
53
- if STATUS in pod:
54
- status = pod[STATUS]
55
- if CONTAINER_STATUSES in pod[STATUS] and len(pod[STATUS][CONTAINER_STATUSES]) > 0:
56
- for container_status in pod[STATUS][CONTAINER_STATUSES]:
57
- if NAME in container_status:
58
- if container_status[NAME] == OCI_SM_PROXY:
59
- if STATE in container_status:
60
- proxy_status = container_status[STATE]
61
- if IMAGE in container_status:
62
- proxy_version = container_status[IMAGE].split(':')[1]
63
- return status, proxy_status, proxy_version
64
-
65
-
66
- class KubeCommandHelper:
67
-
68
- def __init__(self, k8s_context=None):
69
- self.k8s_config, self.use_context = k8s_context
70
-
71
- def get_resource_filter_type_id(self, ocid):
72
- return MESH_CUSTOM_RESOURCE_DICT[ocid.split(".")[1]]
73
-
74
- def print_command(self, args):
75
- command_string = ' '.join([str(argument) for argument in args])
76
- print('\nExecuting: {}'.format(command_string))
77
-
78
- # Run the given command as a subprocess
79
- def run_command_as_subprocess(self, args, append_context_to_args=True, print_output=False):
80
-
81
- if append_context_to_args and self.k8s_config is not None:
82
- args.append('--kubeconfig')
83
- args.append(self.k8s_config)
84
- if append_context_to_args and self.use_context is not None:
85
- args.append('--context')
86
- args.append(self.use_context)
87
-
88
- if print_output:
89
- self.print_command(args)
90
- start_time = time.time()
91
- try:
92
- output = subprocess.run(args, capture_output=True, timeout=300)
93
- kubectl_command_summary = KubectlCommandSummary(output.returncode,
94
- output.stdout.decode('utf-8'),
95
- output.stderr.decode('utf-8'))
96
- except Exception as error:
97
- kubectl_command_summary = KubectlCommandSummary(-1, '', error)
98
-
99
- if kubectl_command_summary.return_code != 0:
100
- click.echo(format(args))
101
- click.echo('\nReturn Code: {}, Error: {}'.format(kubectl_command_summary.return_code,
102
- kubectl_command_summary.stderr))
103
- if print_output:
104
- click.echo('Time taken: {}'.format(time.time() - start_time))
105
-
106
- return kubectl_command_summary
107
-
108
- # Filter pod by label selector
109
- def get_pod_details_by_label_selector(self, label_selector):
110
- get_pods_by_filter_args = ['kubectl', 'get', 'pods', '--all-namespaces', '-l', label_selector, '-o', 'json']
111
- kubectl_command_summary = self.run_command_as_subprocess(get_pods_by_filter_args)
112
- pod_summary = construct_empty_pod_summary()
113
- if kubectl_command_summary.return_code == 0:
114
- pod_json = json.loads(kubectl_command_summary.stdout)
115
- if pod_json is not None and ITEMS in pod_json and len(pod_json[ITEMS]) > 0:
116
- pod = pod_json[ITEMS][0]
117
- if METADATA in pod and LABELS in pod[METADATA]:
118
- pod_summary.labels = pod[METADATA][LABELS]
119
- if METADATA in pod and NAME in pod[METADATA] and NAMESPACE in pod[METADATA]:
120
- pod_summary.name = pod[METADATA][NAME]
121
- pod_summary.namespace = pod[METADATA][NAMESPACE]
122
- if SPEC in pod and CONTAINERS in pod[SPEC] \
123
- and len(pod[SPEC][CONTAINERS]) > 0 and IMAGE in pod[SPEC][CONTAINERS][0]:
124
- pod_summary.version = pod[SPEC][CONTAINERS][0][IMAGE].split(':')[1]
125
- if STATUS in pod and CONTAINER_STATUSES in pod[STATUS] \
126
- and len(pod[STATUS][CONTAINER_STATUSES]) > 0 \
127
- and STATE in pod[STATUS][CONTAINER_STATUSES][0]:
128
- pod_summary.status = pod[STATUS][CONTAINER_STATUSES][0][STATE]
129
- return pod_summary
130
- else:
131
- return pod_summary
132
-
133
- # Filter operator pod
134
- def get_operator_pod_details(self, search_string):
135
- kubectl_get_pods_args = [
136
- 'kubectl', 'get', 'pods', '--no-headers', '--all-namespaces', '--template',
137
- '{{range .items}}{{.metadata.name}}{{" "}}{{.metadata.namespace}}{{"\\n"}}{{end}}']
138
- if self.k8s_config is not None:
139
- kubectl_get_pods_args.append('--kubeconfig')
140
- kubectl_get_pods_args.append(self.k8s_config)
141
- basic_pod_summary = construct_empty_pod_summary()
142
- try:
143
- kubectl_command_summary = self.run_command_as_subprocess(kubectl_get_pods_args)
144
- if kubectl_command_summary.return_code != 0:
145
- return basic_pod_summary
146
- pods_list = kubectl_command_summary.stdout.split('\n')
147
- operator_search_string = "oci-service-operator-controller-manager"
148
- operator_pod = [pod for pod in pods_list if operator_search_string in pod]
149
- if len(operator_pod) < 1:
150
- return basic_pod_summary
151
- operator_pod = operator_pod[0].strip("\'")
152
- pod_tokens = operator_pod.split(" ")
153
-
154
- if pod_tokens is None or len(pod_tokens) < 2:
155
- return basic_pod_summary
156
- name, namespace = pod_tokens[0].strip(), pod_tokens[1].strip()
157
- get_operator_pod_args = ['kubectl', 'get', 'pod', name, '-n', namespace, '-o', 'json']
158
- kubectl_command_summary = self.run_command_as_subprocess(get_operator_pod_args)
159
- if kubectl_command_summary.return_code == 0:
160
- pod_json = json.loads(kubectl_command_summary.stdout)
161
- if pod_json is not None:
162
- if METADATA in pod_json and LABELS in pod_json[METADATA]:
163
- basic_pod_summary.labels = pod_json[METADATA][LABELS]
164
- if METADATA in pod_json and NAME in pod_json[METADATA] and NAMESPACE in pod_json[METADATA]:
165
- basic_pod_summary.name = pod_json[METADATA][NAME]
166
- basic_pod_summary.namespace = pod_json[METADATA][NAMESPACE]
167
- if STATUS in pod_json:
168
- basic_pod_summary.status = pod_json[STATUS]
169
- if SPEC in pod_json and CONTAINERS in pod_json[SPEC] and len(pod_json[SPEC][CONTAINERS]) > 0:
170
- container = pod_json[SPEC][CONTAINERS][0]
171
- if IMAGE in container:
172
- basic_pod_summary.version = container[IMAGE].split(":")[1]
173
- return basic_pod_summary
174
- except Exception as error:
175
- click.echo(Messages.some_exception.format('fetching operator details', error), file=sys.stderr)
176
- return basic_pod_summary
177
-
178
- def get_csv(self, namespace):
179
- get_status_of_csv_args = ['kubectl', 'get', 'csv', '-n', namespace, '-o', 'json']
180
- kubectl_command_summary = self.run_command_as_subprocess(get_status_of_csv_args)
181
- csv = 'Unavailable'
182
- if kubectl_command_summary.return_code == 0:
183
- csv = json.loads(kubectl_command_summary.stdout)
184
- return csv
185
-
186
- def get_install_plan(self, namespace):
187
- get_status_of_installplan_args = ['kubectl', 'get', 'installplan', '-n', namespace, '-o', 'json']
188
- kubectl_command_summary = self.run_command_as_subprocess(get_status_of_installplan_args)
189
- install_plan = 'Unavailable'
190
- if kubectl_command_summary.return_code == 0:
191
- install_plan = json.loads(kubectl_command_summary.stdout)
192
-
193
- return install_plan
194
-
195
- def get_subscription(self, namespace):
196
- get_status_of_subscription_args = ['kubectl', 'get', 'subscription', '-n', namespace, '-o', 'json']
197
- kubectl_command_summary = self.run_command_as_subprocess(get_status_of_subscription_args)
198
- subscription = 'Unavailable'
199
-
200
- if kubectl_command_summary.return_code == 0:
201
- subscription = json.loads(kubectl_command_summary.stdout)
202
-
203
- return subscription
204
-
205
- def get_catalog_source(self, namespace):
206
- get_status_of_catalog_source_args = ['kubectl', 'get', 'catalogsource', '-n', namespace, '-o', 'json']
207
- kubectl_command_summary = self.run_command_as_subprocess(get_status_of_catalog_source_args)
208
- catalog_source = 'Unavailable'
209
-
210
- if kubectl_command_summary.return_code == 0:
211
- catalog_source = json.loads(kubectl_command_summary.stdout)
212
-
213
- return catalog_source
214
-
215
- # Get installed crds validated
216
- def get_crds_validated(self):
217
- get_crds_validated_args = ['kubectl', 'get', 'crds']
218
- kubectl_command_summary = self.run_command_as_subprocess(get_crds_validated_args)
219
- validated_crds_list = []
220
- if kubectl_command_summary.return_code == 0:
221
- crd_installed = kubectl_command_summary.stdout
222
- validated_crds_list = re.findall(r".*.servicemesh.*.com", crd_installed)
223
- return validated_crds_list
224
-
225
- # Get installed webhooks validated
226
- def get_webhooks_validated(self):
227
- get_webhooks_validated_args = ['kubectl', 'get', 'ValidatingWebhookConfiguration']
228
- kubectl_command_summary = self.run_command_as_subprocess(get_webhooks_validated_args)
229
- webhooks_list = []
230
- if kubectl_command_summary.return_code == 0:
231
- webhook_installed = kubectl_command_summary.stdout
232
- webhooks_list = re.findall(r".*.servicemesh.*.com", webhook_installed)
233
-
234
- get_mutating_webhook_args = ['kubectl', 'get', 'MutatingWebhookConfiguration']
235
- kubectl_command_summary = self.run_command_as_subprocess(get_mutating_webhook_args)
236
- mutating_webhooks_list = []
237
- if kubectl_command_summary.return_code == 0:
238
- mutating_webhooks = kubectl_command_summary.stdout
239
- mutating_webhooks_list = re.findall(r".*.servicemesh.*.com", mutating_webhooks)
240
-
241
- return webhooks_list + mutating_webhooks_list
242
-
243
- def get_operator_services(self):
244
- get_services_args = ['kubectl', 'get', 'services', '--all-namespaces']
245
- kubectl_command_summary = self.run_command_as_subprocess(get_services_args)
246
- services = ['oci-service-operator-controller-manager-service', 'oci-service-operator-webhook-service']
247
- service_list = []
248
- if kubectl_command_summary.return_code == 0:
249
- services_list = kubectl_command_summary.stdout
250
- for service in services:
251
- if re.search(service, services_list):
252
- service_list.append(service)
253
-
254
- return service_list
255
-
256
- # Get pod logs
257
- def get_pod_logs(self, name, namespace):
258
- log_command_args = ['kubectl', 'logs', name, '-n', namespace]
259
- kubectl_command_summary = self.run_command_as_subprocess(log_command_args)
260
- logs = None
261
- if kubectl_command_summary.return_code == 0:
262
- logs = kubectl_command_summary.stdout
263
- return logs
264
-
265
- # Get proxy logs
266
- def get_proxy_logs(self, name, namespace):
267
- pod_logs_args = ['kubectl', 'logs', name, '-n', namespace, '-c', OCI_SM_PROXY]
268
- kubectl_command_summary = self.run_command_as_subprocess(pod_logs_args)
269
- proxy_logs = None
270
- if kubectl_command_summary.return_code == 0:
271
- proxy_logs = kubectl_command_summary.stdout
272
- return proxy_logs
273
-
274
- # Get config dump
275
- def get_config_dump(self, name, namespace):
276
- if self.k8s_config is not None:
277
- config_dump_args = ['kubectl', 'exec', name, '-n', namespace, '-c', OCI_SM_PROXY, '--kubeconfig',
278
- self.k8s_config, '--', 'curl', '-s', 'localhost:9901/config_dump']
279
- else:
280
- config_dump_args = ['kubectl', 'exec', name, '-n', namespace, '-c', OCI_SM_PROXY,
281
- '--', 'curl', '-s', 'localhost:9901/config_dump']
282
- kubectl_command_summary = self.run_command_as_subprocess(args=config_dump_args, append_context_to_args=False)
283
- config_dump = None
284
- if kubectl_command_summary.return_code == 0:
285
- config_dump = json.loads(kubectl_command_summary.stdout)
286
- return config_dump
287
-
288
- # Get Proxy Stats
289
- def get_proxy_stats(self, name, namespace):
290
- if self.k8s_config is not None:
291
- proxy_stats_args = ['kubectl', 'exec', name, '-n', namespace, '-c', OCI_SM_PROXY, '--kubeconfig',
292
- self.k8s_config, '--', 'curl', '-s', 'localhost:9901/stats?format=json']
293
- else:
294
- proxy_stats_args = ['kubectl', 'exec', name, '-n', namespace, '-c', OCI_SM_PROXY,
295
- '--', 'curl', '-s', 'localhost:9901/stats?format=json']
296
- kubectl_command_summary = self.run_command_as_subprocess(args=proxy_stats_args, append_context_to_args=False)
297
- proxy_stats = None
298
- if kubectl_command_summary.return_code == 0:
299
- proxy_stats = json.loads(kubectl_command_summary.stdout)
300
- return proxy_stats
301
-
302
- # Filter namespaces with sidecar injection enabled
303
- def get_namespaces_with_sidecar_injection_enabled(self):
304
- get_namespace_args = ['kubectl', 'get', 'namespaces', '-l', SIDECAR_INJECTION_LABEL_ENABLED, '-o', 'json']
305
- kubectl_command_summary = self.run_command_as_subprocess(get_namespace_args)
306
- namespaces = []
307
- if kubectl_command_summary.return_code == 0:
308
- namespaces_json = json.loads(kubectl_command_summary.stdout)
309
- if namespaces_json is not None and ITEMS in namespaces_json:
310
- for item in namespaces_json[ITEMS]:
311
- if METADATA in item and NAME in item[METADATA]:
312
- namespaces.append(item[METADATA][NAME])
313
- return namespaces
314
-
315
- # Filter required vdbs
316
- def filter_vdbs_by_ocid(self, ocid):
317
- mesh_vdb_dict = {}
318
- filter_type = self.get_resource_filter_type_id(ocid)
319
- get_vdbs_args = ['kubectl', 'get', 'virtualdeploymentbindings', '--all-namespaces', '-o', 'json']
320
- kubectl_command_summary = self.run_command_as_subprocess(get_vdbs_args)
321
-
322
- if kubectl_command_summary.return_code != 0:
323
- return mesh_vdb_dict
324
-
325
- vdbs_string = kubectl_command_summary.stdout
326
- vdbs = json.loads(vdbs_string)
327
- if vdbs is not None and ITEMS in vdbs and len(vdbs[ITEMS]) > 0:
328
- for item in vdbs[ITEMS]:
329
- name, namespace = None, None
330
- mesh_id, vs_id, vd_id = None, None, None
331
- if STATUS not in item or filter_type not in item[STATUS] or \
332
- item[STATUS][filter_type] != ocid:
333
- continue
334
- if METADATA in item:
335
- if NAME in item[METADATA]:
336
- name = item[METADATA][NAME]
337
- if NAMESPACE in item[METADATA]:
338
- namespace = item[METADATA][NAMESPACE]
339
- if STATUS in item:
340
- if MESH_ID in item[STATUS]:
341
- mesh_id = item[STATUS][MESH_ID]
342
- if VIRTUAL_SERVICE_ID in item[STATUS]:
343
- vs_id = item[STATUS][VIRTUAL_SERVICE_ID]
344
- if MESH_ID in item[STATUS]:
345
- vd_id = item[STATUS][VIRTUAL_DEPLOYMENT_ID]
346
- vs_dict = mesh_vdb_dict.get(mesh_id, {})
347
- vd_dict = vs_dict.get(vs_id, {})
348
- vdb_list = vd_dict.get(vd_id, [])
349
- vdb_list.append(namespace + "/" + name)
350
- vd_dict[vd_id] = vdb_list
351
- vs_dict[vs_id] = vd_dict
352
- mesh_vdb_dict[mesh_id] = vs_dict
353
- return mesh_vdb_dict
354
-
355
- def get_all_services(self):
356
- services_dict = {}
357
- all_services_args = ['kubectl', 'get', 'services', '--all-namespaces', '-o', 'json']
358
- kubectl_command_summary = self.run_command_as_subprocess(all_services_args)
359
- if kubectl_command_summary.return_code != 0:
360
- return services_dict
361
-
362
- services_string = kubectl_command_summary.stdout
363
- services = json.loads(services_string)
364
- if services is not None and ITEMS in services:
365
- for service in services[ITEMS]:
366
- services_dict[service[NAME]] = service[LABELS]
367
- return services_dict
368
-
369
- # Filter all pods with VDB annotation
370
- def filter_all_pods_related_to_vdbs(self):
371
- pod_dict = {}
372
- filter_pods_by_vdbs_args = ['kubectl', 'get', 'pods', '--all-namespaces', '-o', 'json']
373
- kubectl_command_summary = self.run_command_as_subprocess(filter_pods_by_vdbs_args)
374
-
375
- if kubectl_command_summary.return_code != 0:
376
- return pod_dict
377
-
378
- pods_string = kubectl_command_summary.stdout
379
- pods = json.loads(pods_string)
380
- vdb_ref_key = 'servicemesh.oci.oracle.com/virtual-deployment-binding-ref'
381
-
382
- if pods is not None and ITEMS in pods:
383
- for pod in pods[ITEMS]:
384
-
385
- # Capture vdb_key
386
- vdb_key = None
387
- if METADATA in pod:
388
- if ANNOTATIONS in pod[METADATA]:
389
- if vdb_ref_key not in pod[METADATA][ANNOTATIONS]:
390
- continue
391
- vdb_key = pod[METADATA][ANNOTATIONS][vdb_ref_key]
392
-
393
- if vdb_key is None:
394
- continue
395
-
396
- # Capture name, namespace, labels
397
- name, namespace, labels = get_name_namespace_labels_from_pod_json(pod)
398
-
399
- # Capture status, proxy_status, proxy_version
400
- status, proxy_status, proxy_version = get_proxy_details_from_pod_json(pod)
401
-
402
- # VDB can have multiple pods
403
- vdb_pod_list = pod_dict.get(vdb_key, [])
404
- basic_pod_summary = BasicPodSummary(name=name,
405
- namespace=namespace,
406
- status=status,
407
- labels=labels)
408
- new_pod_summary = PodSummary(proxy_status=proxy_status,
409
- proxy_version=proxy_version,
410
- basic_pod_summary=basic_pod_summary,
411
- pod_json=pod)
412
-
413
- vdb_pod_list.append(new_pod_summary)
414
- pod_dict[vdb_key] = vdb_pod_list
415
-
416
- return pod_dict
417
-
418
- # Filter all pods related to IGDs
419
- def filter_all_pods_related_to_igds(self):
420
- pod_dict = {}
421
- filter_pods_by_igds_args = ['kubectl', 'get', 'pods', '--all-namespaces', '-l', IGD_LABEL, '-o', 'json']
422
- kubectl_command_summary = self.run_command_as_subprocess(filter_pods_by_igds_args)
423
-
424
- if kubectl_command_summary.return_code != 0:
425
- return pod_dict
426
-
427
- pods_string = kubectl_command_summary.stdout
428
- pods_json = json.loads(pods_string)
429
- if pods_json is not None and ITEMS in pods_json:
430
- for pod in pods_json[ITEMS]:
431
-
432
- # Capture name, namespace, labels
433
- name, namespace, labels = get_name_namespace_labels_from_pod_json(pod)
434
-
435
- # Capture igd_key
436
- igd_key = None
437
- if METADATA in pod and namespace is not None:
438
- if LABELS in pod[METADATA] and IGD_LABEL in pod[METADATA][LABELS]:
439
- igd_key = namespace + '/' + pod[METADATA][LABELS][IGD_LABEL]
440
-
441
- if igd_key is None:
442
- continue
443
-
444
- # Capture status, proxy_status, proxy_version
445
- status, proxy_status, proxy_version = get_proxy_details_from_pod_json(pod)
446
-
447
- # IGD can have multiple pods
448
- igd_pod_list = pod_dict.get(igd_key, [])
449
- basic_pod_summary = BasicPodSummary(name=name,
450
- namespace=namespace,
451
- status=status,
452
- labels=labels)
453
- new_pod_summary = PodSummary(proxy_status=proxy_status,
454
- proxy_version=proxy_version,
455
- basic_pod_summary=basic_pod_summary,
456
- pod_json=pod)
457
- igd_pod_list.append(new_pod_summary)
458
- pod_dict[igd_key] = igd_pod_list
459
-
460
- return pod_dict
461
-
462
- # Filter IGDs by OCID
463
- def filter_igds_by_ocid(self, ocid):
464
- mesh_igd_dict = {}
465
- filter_type = self.get_resource_filter_type_id(ocid)
466
- get_igds_args = ['kubectl', 'get', 'ingressgatewaydeployments', '--all-namespaces', '-o', 'json']
467
- kubectl_command_summary = self.run_command_as_subprocess(get_igds_args)
468
-
469
- if kubectl_command_summary.return_code != 0:
470
- return mesh_igd_dict
471
-
472
- igds_string = kubectl_command_summary.stdout
473
- igds = json.loads(igds_string)
474
- if igds is not None and ITEMS in igds:
475
- for item in igds[ITEMS]:
476
- name, namespace = None, None
477
- mesh_id, ig_id = None, None
478
- if STATUS not in item or filter_type not in item[STATUS] or \
479
- item[STATUS][filter_type] != ocid:
480
- continue
481
- if METADATA in item:
482
- if NAME in item[METADATA]:
483
- name = item[METADATA][NAME]
484
- if NAMESPACE in item[METADATA]:
485
- namespace = item[METADATA][NAMESPACE]
486
- if STATUS in item:
487
- if MESH_ID in item[STATUS]:
488
- mesh_id = item[STATUS][MESH_ID]
489
- if INGRESS_GATEWAY_ID in item[STATUS]:
490
- ig_id = item[STATUS][INGRESS_GATEWAY_ID]
491
- ig_dict = mesh_igd_dict.get(mesh_id, {})
492
- igd_list = ig_dict.get(ig_id, [])
493
- igd_list.append(namespace + "/" + name)
494
- ig_dict[ig_id] = igd_list
495
- mesh_igd_dict[mesh_id] = ig_dict
496
- return mesh_igd_dict
497
-
498
- # Filters vdb, igd, vsrt, igrt
499
- def filter_mesh_resources_helper_by_filtered_list(self, crd, filter_dict):
500
- filter_list = filter_dict.keys()
501
- crd_dict = {}
502
- get_all_crd_args = ['kubectl', 'get', MESH_CRD_DICT[crd], '--all-namespaces', '-o', 'json']
503
- kubectl_command_summary = self.run_command_as_subprocess(get_all_crd_args)
504
- if kubectl_command_summary.return_code != 0:
505
- return crd_dict
506
- resources_string = kubectl_command_summary.stdout
507
- resources = json.loads(resources_string)
508
- if resources is not None and ITEMS in resources:
509
- for resource in resources[ITEMS]:
510
- if STATUS in resource:
511
- ocid = None
512
- if crd in ['meshvirtualserviceroutetable', 'meshvirtualdeploymentbinding'] and \
513
- VIRTUAL_SERVICE_ID in resource[STATUS]:
514
- ocid = resource[STATUS][VIRTUAL_SERVICE_ID]
515
- elif crd in ['meshingressgatewayroutetable', 'meshingressgatewaydeployment'] and \
516
- INGRESS_GATEWAY_ID in resource[STATUS]:
517
- ocid = resource[STATUS][INGRESS_GATEWAY_ID]
518
- if ocid is not None and ocid in filter_list:
519
- custom_resource_summary = CustomResourceSummary(resource)
520
- crd_list = crd_dict.get(ocid, [])
521
- crd_list.append(custom_resource_summary)
522
- crd_dict[ocid] = crd_list
523
- return crd_dict
524
-
525
- # Filters mesh, vs, vd, ig, ap related to mesh_id
526
- def filter_mesh_resources_helper(self, mesh_id, crd):
527
- crd_dict = {}
528
- get_all_crd_args = ['kubectl', 'get', MESH_CRD_DICT[crd], '--all-namespaces', '-o', 'json']
529
- kubectl_command_summary = self.run_command_as_subprocess(get_all_crd_args)
530
- if kubectl_command_summary.return_code != 0:
531
- return crd_dict
532
- resources_string = kubectl_command_summary.stdout
533
- resources = json.loads(resources_string)
534
- if resources is not None and ITEMS in resources:
535
- for resource in resources[ITEMS]:
536
- if STATUS not in resource or MESH_CUSTOM_RESOURCE_DICT[crd] not in resource[STATUS]:
537
- continue
538
- ocid = resource[STATUS][MESH_CUSTOM_RESOURCE_DICT[crd]]
539
- if MESH_ID in resource[STATUS] and mesh_id == resource[STATUS][MESH_ID]:
540
- custom_resource_summary = CustomResourceSummary(resource)
541
- crd_list = crd_dict.get(ocid, [])
542
- crd_list.append(custom_resource_summary)
543
- crd_dict[ocid] = crd_list
544
- return crd_dict
545
-
546
- # Parallel filter mesh resources related to mesh_id
547
- def parallel_filter_mesh_resources(self, mesh_id):
548
- with concurrent.futures.ProcessPoolExecutor() as independent_executor:
549
- mesh_process = independent_executor.submit(self.filter_mesh_resources_helper, mesh_id, 'mesh')
550
- vs_process = independent_executor.submit(self.filter_mesh_resources_helper, mesh_id, 'meshvirtualservice')
551
- vd_process = independent_executor.submit(self.filter_mesh_resources_helper, mesh_id,
552
- 'meshvirtualdeployment')
553
- ap_process = independent_executor.submit(self.filter_mesh_resources_helper, mesh_id, 'meshaccesspolicy')
554
- ig_process = independent_executor.submit(self.filter_mesh_resources_helper, mesh_id, 'meshingressgateway')
555
-
556
- vd_dict = vd_process.result()
557
- ig_dict = ig_process.result()
558
-
559
- with concurrent.futures.ProcessPoolExecutor() as dependent_executor:
560
- vdb_process = dependent_executor.submit(self.filter_mesh_resources_helper_by_filtered_list,
561
- 'meshvirtualdeploymentbinding', vd_dict)
562
- vsrt_process = dependent_executor.submit(self.filter_mesh_resources_helper_by_filtered_list,
563
- 'meshvirtualserviceroutetable', vd_dict)
564
- igd_process = dependent_executor.submit(self.filter_mesh_resources_helper_by_filtered_list,
565
- 'meshingressgatewaydeployment', ig_dict)
566
- igrt_process = dependent_executor.submit(self.filter_mesh_resources_helper_by_filtered_list,
567
- 'meshingressgatewayroutetable', ig_dict)
568
-
569
- mesh_dict = mesh_process.result()
570
- vs_dict = vs_process.result()
571
- ap_dict = ap_process.result()
572
- vdb_dict = vdb_process.result()
573
- vsrt_dict = vsrt_process.result()
574
- igd_dict = igd_process.result()
575
- igrt_dict = igrt_process.result()
576
-
577
- return MeshResources(mesh_dict, vs_dict, vd_dict, vdb_dict, vsrt_dict, ig_dict, igd_dict, igrt_dict, ap_dict)
578
-
579
- # Calculate time difference
580
- def calculate_time(self, start_time, message):
581
- click.echo('\nTime taken for {} is: {}s'.format(message, time.time() - start_time))
582
-
583
- # Returns kubectl version if installed
584
- def get_kubectl_version(self):
585
- # Check if kubectl client is present
586
- kubectl_version_args = ['kubectl', 'version', '--short']
587
- return self.run_command_as_subprocess(kubectl_version_args)
588
-
589
- # Checks for kubectl installation
590
- def is_kubectl_installed(self):
591
- # Check if kubectl client is present
592
- return self.get_kubectl_version()
593
-
594
- # Gets all the contexts present in the given config file
595
- def get_command_context(self, kube_config_path=None, context_name=None):
596
- if context_name is None:
597
- context_args = ['kubectl', 'config', 'current-context']
598
- else:
599
- context_args = ['kubectl', 'config', 'get-contexts', '-o', 'name', context_name]
600
-
601
- if kube_config_path is not None:
602
- context_args.append('--kubeconfig')
603
- context_args.append(kube_config_path)
604
-
605
- return self.run_command_as_subprocess(context_args)
606
-
607
- def check_context(self, k8s_context):
608
- kube_config_path, use_context = k8s_context
609
- if kube_config_path is None:
610
- kube_command_summary = self.get_command_context(context_name=use_context)
611
- if kube_command_summary.return_code != 0:
612
- error = Messages.context_not_available + kube_command_summary.stderr
613
- return KubectlCommandSummary(return_code=1, stderr=error)
614
- else:
615
- click.echo(Messages.using_context.format(kube_command_summary.stdout),
616
- file=sys.stdout)
617
- return kube_command_summary
618
- else:
619
- if not os.path.exists(kube_config_path):
620
- error = 'Invalid path: {} provided for k8s_context. Please check if the path points to a valid config.' \
621
- .format(kube_config_path)
622
- return KubectlCommandSummary(return_code=1, stderr=error)
623
- else:
624
- kube_command_summary = self.get_command_context(kube_config_path=kube_config_path,
625
- context_name=use_context)
626
- if kube_command_summary.return_code != 0:
627
- error = 'Unable to load context from the provided k8s_context. ' + kube_command_summary.stderr
628
- return KubectlCommandSummary(return_code=1, stderr=error)
629
- else:
630
- click.echo(Messages.using_context.format(kube_command_summary.stdout), file=sys.stdout)
631
- return kube_command_summary
632
-
633
-
634
- class KubectlCommandSummary:
635
-
636
- def __init__(self, return_code, stdout=None, stderr=None):
637
- self.return_code = return_code
638
- self.stdout = stdout
639
- self.stderr = stderr
640
-
641
- def __str__(self):
642
- contents = StringIO()
643
- contents.write('\nReturn Code: {}'.format(self.return_code))
644
- contents.write('\nstdout: \n{}'.format(self.stdout))
645
- contents.write('\nstderr: \n{}'.format(self.stderr))
646
- return contents.getvalue()
@@ -1,16 +0,0 @@
1
- # coding: utf-8
2
- # Copyright (c) 2016, 2021, Oracle and/or its affiliates. All rights reserved.
3
- # This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
4
-
5
-
6
- class Messages:
7
- kubectl_client_not_found = 'kubectl client not found. Please install kubectl client to continue.'
8
- invalid_ocid = 'Invalid ocid. Please check the ocid format for the service-mesh resource.'
9
- invalid_mesh_resource_type = 'Invalid mesh resource type: {}. Please check the ocid format '
10
- 'for the service-mesh resource'
11
- using_context = 'Using the context: {}'
12
- context_not_available = 'k8s_context was not provided and there is no default context available.'
13
- context_reset = 'Context reset to {}'
14
- some_exception = 'Some exception while {}: {}.'
15
- is_none = '{} is None.'
16
- is_invalid = 'Invalid Resource Id. Please check the resource id'