oci-cli 3.68.1__py3-none-any.whl → 3.70.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 (323) hide show
  1. common_util/ignored_commands.py +1 -0
  2. oci_cli/bin/psa.psm1 +51 -0
  3. oci_cli/help_text_producer/data_files/text/cmdref/ai/language/endpoint/create.txt +0 -8
  4. oci_cli/help_text_producer/data_files/text/cmdref/compute/boot-volume-attachment/attach.txt +1 -1
  5. oci_cli/help_text_producer/data_files/text/cmdref/compute/compute-host/list.txt +6 -0
  6. oci_cli/help_text_producer/data_files/text/cmdref/compute/console-history/capture.txt +1 -1
  7. oci_cli/help_text_producer/data_files/text/cmdref/compute/device/list-instance.txt +1 -1
  8. oci_cli/help_text_producer/data_files/text/cmdref/compute/instance/action.txt +1 -1
  9. oci_cli/help_text_producer/data_files/text/cmdref/compute/instance/attach-vnic.txt +1 -1
  10. oci_cli/help_text_producer/data_files/text/cmdref/compute/instance/change-compartment.txt +1 -1
  11. oci_cli/help_text_producer/data_files/text/cmdref/compute/instance/get-windows-initial-creds.txt +1 -1
  12. oci_cli/help_text_producer/data_files/text/cmdref/compute/instance/get.txt +1 -1
  13. oci_cli/help_text_producer/data_files/text/cmdref/compute/instance/launch.txt +1 -1
  14. oci_cli/help_text_producer/data_files/text/cmdref/compute/instance/terminate.txt +1 -1
  15. oci_cli/help_text_producer/data_files/text/cmdref/compute/instance/update-instance-amd-vm-update-instance-platform-config.txt +1 -1
  16. oci_cli/help_text_producer/data_files/text/cmdref/compute/instance/update-instance-intel-vm-update-instance-platform-config.txt +1 -1
  17. oci_cli/help_text_producer/data_files/text/cmdref/compute/instance/update-instance-update-instance-source-via-boot-volume-details.txt +1 -1
  18. oci_cli/help_text_producer/data_files/text/cmdref/compute/instance/update-instance-update-instance-source-via-image-details.txt +1 -1
  19. oci_cli/help_text_producer/data_files/text/cmdref/compute/instance/update.txt +1 -1
  20. oci_cli/help_text_producer/data_files/text/cmdref/compute/instance-console-connection/create.txt +1 -1
  21. oci_cli/help_text_producer/data_files/text/cmdref/compute/instance-console-connection/delete.txt +1 -1
  22. oci_cli/help_text_producer/data_files/text/cmdref/compute/instance-console-connection/get-plink-connection-string.txt +1 -1
  23. oci_cli/help_text_producer/data_files/text/cmdref/compute/instance-console-connection/get.txt +1 -1
  24. oci_cli/help_text_producer/data_files/text/cmdref/compute/instance-console-connection/update.txt +1 -1
  25. oci_cli/help_text_producer/data_files/text/cmdref/compute/instance-maintenance-reboot/get.txt +1 -1
  26. oci_cli/help_text_producer/data_files/text/cmdref/compute/measured-boot-report/accept-shielded-integrity-policy.txt +1 -1
  27. oci_cli/help_text_producer/data_files/text/cmdref/compute/measured-boot-report/get.txt +1 -1
  28. oci_cli/help_text_producer/data_files/text/cmdref/compute/volume-attachment/attach-iscsi-volume.txt +1 -1
  29. oci_cli/help_text_producer/data_files/text/cmdref/compute/volume-attachment/attach-paravirtualized-volume.txt +1 -1
  30. oci_cli/help_text_producer/data_files/text/cmdref/compute/volume-attachment/attach.txt +1 -1
  31. oci_cli/help_text_producer/data_files/text/cmdref/compute-management/instance-configuration/create-from-instance.txt +1 -1
  32. oci_cli/help_text_producer/data_files/text/cmdref/compute-management/instance-pool/create.txt +11 -0
  33. oci_cli/help_text_producer/data_files/text/cmdref/compute-management/instance-pool/update.txt +11 -0
  34. oci_cli/help_text_producer/data_files/text/cmdref/compute-management/instance-pool-instance/attach.txt +2 -2
  35. oci_cli/help_text_producer/data_files/text/cmdref/compute-management/instance-pool-instance/detach.txt +1 -1
  36. oci_cli/help_text_producer/data_files/text/cmdref/compute-management/instance-pool-instance/get.txt +1 -1
  37. oci_cli/help_text_producer/data_files/text/cmdref/compute-management/instance-pool-instance/termination-proceed.txt +116 -0
  38. oci_cli/help_text_producer/data_files/text/cmdref/compute-management/instance-pool-instance.txt +2 -0
  39. oci_cli/help_text_producer/data_files/text/cmdref/compute-management.txt +2 -0
  40. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-container-database/change-dataguard-role.txt +1 -1
  41. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-container-database/convert-standby.txt +1 -1
  42. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-container-database/create-autonomous-container-database-create-autonomous-container-database-details.txt +7 -7
  43. 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 +7 -7
  44. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-container-database/create.txt +7 -7
  45. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-container-database-backup.txt +1 -1
  46. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-container-database-version.txt +1 -1
  47. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database/change-autonomous-database-subscription.txt +1 -1
  48. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database/change-compartment.txt +2 -2
  49. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database/change-disaster-recovery-configuration.txt +6 -6
  50. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database/configure-key.txt +1 -1
  51. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database/configure-saas-admin-user.txt +3 -3
  52. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database/create-adb-cross-region-data-guard-details.txt +105 -102
  53. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database/create-autonomous-database-create-cross-region-disaster-recovery-details.txt +114 -111
  54. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database/create-autonomous-database-gcp-key-details.txt +108 -105
  55. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database/create-autonomous-database-undelete-autonomous-database-details.txt +109 -106
  56. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database/create-cross-tenancy-disaster-recovery-details.txt +111 -108
  57. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database/create-from-backup-id.txt +109 -106
  58. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database/create-from-backup-timestamp.txt +110 -107
  59. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database/create-from-clone.txt +105 -102
  60. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database/create-refreshable-clone.txt +109 -106
  61. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database/create.txt +102 -99
  62. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database/data-safe/deregister.txt +1 -1
  63. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database/data-safe/register.txt +1 -1
  64. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database/delete.txt +3 -3
  65. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database/disable-autonomous-database-management.txt +1 -1
  66. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database/disable-operations-insights.txt +1 -1
  67. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database/enable-autonomous-database-management.txt +1 -1
  68. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database/enable-operations-insights.txt +1 -1
  69. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database/fail-over.txt +1 -1
  70. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database/generate-wallet.txt +2 -1
  71. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database/get.txt +1 -1
  72. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database/list-autonomous-database-peers.txt +1 -1
  73. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database/list-clones.txt +2 -2
  74. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database/list-refreshable-clones.txt +3 -3
  75. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database/list-resource-pool-members.txt +2 -2
  76. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database/list.txt +7 -7
  77. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database/manual-refresh.txt +5 -5
  78. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database/restart.txt +1 -1
  79. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database/restore.txt +1 -1
  80. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database/saas-admin-user-status.txt +1 -1
  81. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database/start.txt +1 -1
  82. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database/stop.txt +1 -1
  83. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database/switchover.txt +1 -1
  84. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database/update-autonomous-database-gcp-key-details.txt +125 -110
  85. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database/update.txt +123 -108
  86. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database-backup/create.txt +2 -2
  87. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database-backup/delete.txt +1 -1
  88. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database-backup/get.txt +2 -2
  89. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database-backup/list.txt +1 -1
  90. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database-backup/update.txt +3 -3
  91. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database-backup.txt +1 -1
  92. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database-character-sets/list.txt +5 -5
  93. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database-character-sets.txt +1 -1
  94. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database-dataguard/get.txt +1 -1
  95. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database-dataguard/list.txt +1 -1
  96. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database-dataguard.txt +4 -4
  97. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database-software-image/change-compartment.txt +2 -2
  98. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database-software-image/create.txt +4 -4
  99. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database-software-image/delete.txt +2 -2
  100. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database-software-image/get.txt +2 -2
  101. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database-software-image/list.txt +3 -3
  102. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database-software-image/update.txt +3 -3
  103. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database-software-image.txt +2 -2
  104. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database-wallet/get-metadata.txt +1 -1
  105. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database-wallet/get-regional-wallet-metadata.txt +1 -1
  106. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database-wallet/rotate-regional-wallet.txt +1 -1
  107. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database-wallet/rotate.txt +1 -1
  108. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database-wallet.txt +1 -1
  109. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database.txt +1 -1
  110. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-db-preview-version/list.txt +2 -2
  111. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-db-preview-version.txt +2 -2
  112. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-db-version/list.txt +4 -4
  113. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-db-version.txt +1 -1
  114. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-exadata-infrastructure/launch.txt +8 -7
  115. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-exadata-infrastructure/update.txt +2 -2
  116. oci_cli/help_text_producer/data_files/text/cmdref/db/cloud-autonomous-vm-cluster/create.txt +12 -12
  117. oci_cli/help_text_producer/data_files/text/cmdref/db/cloud-autonomous-vm-cluster/update.txt +10 -10
  118. oci_cli/help_text_producer/data_files/text/cmdref/db/cloud-exa-infra/add-storage.txt +2 -2
  119. oci_cli/help_text_producer/data_files/text/cmdref/db/cloud-exa-infra/change-compartment.txt +4 -3
  120. oci_cli/help_text_producer/data_files/text/cmdref/db/cloud-exa-infra/create.txt +1 -1
  121. oci_cli/help_text_producer/data_files/text/cmdref/db/cloud-exa-infra/delete.txt +2 -2
  122. oci_cli/help_text_producer/data_files/text/cmdref/db/cloud-exa-infra/get.txt +1 -1
  123. oci_cli/help_text_producer/data_files/text/cmdref/db/cloud-exa-infra/list.txt +1 -1
  124. oci_cli/help_text_producer/data_files/text/cmdref/db/cloud-exa-infra/update.txt +2 -2
  125. oci_cli/help_text_producer/data_files/text/cmdref/db/cloud-vm-cluster/create.txt +2 -2
  126. oci_cli/help_text_producer/data_files/text/cmdref/db/cloud-vm-cluster/update.txt +2 -2
  127. oci_cli/help_text_producer/data_files/text/cmdref/db/database/create-database-create-stand-by-database-details.txt +2 -2
  128. oci_cli/help_text_producer/data_files/text/cmdref/db/database/create-database-from-backup.txt +2 -2
  129. oci_cli/help_text_producer/data_files/text/cmdref/db/database/create-from-backup.txt +2 -2
  130. oci_cli/help_text_producer/data_files/text/cmdref/db/database/create-from-database.txt +2 -2
  131. oci_cli/help_text_producer/data_files/text/cmdref/db/database/create-standby-database.txt +2 -2
  132. oci_cli/help_text_producer/data_files/text/cmdref/db/database/create.txt +2 -2
  133. oci_cli/help_text_producer/data_files/text/cmdref/db/database/migrate-vault-key.txt +2 -2
  134. oci_cli/help_text_producer/data_files/text/cmdref/db/database/set-oci-db-key-version.txt +2 -2
  135. oci_cli/help_text_producer/data_files/text/cmdref/db/db-home/create.txt +2 -2
  136. oci_cli/help_text_producer/data_files/text/cmdref/db/dbnode-snapshot/delete.txt +129 -0
  137. oci_cli/help_text_producer/data_files/text/cmdref/db/dbnode-snapshot/get.txt +92 -0
  138. oci_cli/help_text_producer/data_files/text/cmdref/db/dbnode-snapshot/list.txt +153 -0
  139. oci_cli/help_text_producer/data_files/text/cmdref/db/dbnode-snapshot/mount.txt +131 -0
  140. oci_cli/help_text_producer/data_files/text/cmdref/db/dbnode-snapshot/unmount.txt +131 -0
  141. oci_cli/help_text_producer/data_files/text/cmdref/db/dbnode-snapshot.txt +22 -0
  142. oci_cli/help_text_producer/data_files/text/cmdref/db/exadb-vm-cluster/add.txt +154 -0
  143. oci_cli/help_text_producer/data_files/text/cmdref/db/exadb-vm-cluster/create.txt +2 -2
  144. oci_cli/help_text_producer/data_files/text/cmdref/db/exadb-vm-cluster/update.txt +2 -2
  145. oci_cli/help_text_producer/data_files/text/cmdref/db/exadb-vm-cluster.txt +2 -0
  146. oci_cli/help_text_producer/data_files/text/cmdref/db/maintenance-run/create.txt +1 -1
  147. oci_cli/help_text_producer/data_files/text/cmdref/db/maintenance-run/list.txt +1 -1
  148. oci_cli/help_text_producer/data_files/text/cmdref/db/pluggable-database/set-oci-pdb-key-version.txt +2 -2
  149. oci_cli/help_text_producer/data_files/text/cmdref/db/system/launch-from-backup.txt +4 -4
  150. oci_cli/help_text_producer/data_files/text/cmdref/db/system/launch-from-database.txt +4 -4
  151. oci_cli/help_text_producer/data_files/text/cmdref/db/system/launch-from-db-system.txt +4 -4
  152. oci_cli/help_text_producer/data_files/text/cmdref/db/system/launch.txt +4 -4
  153. oci_cli/help_text_producer/data_files/text/cmdref/db/system/update.txt +2 -2
  154. oci_cli/help_text_producer/data_files/text/cmdref/db.txt +14 -0
  155. oci_cli/help_text_producer/data_files/text/cmdref/dbtools/connection/add-lock.txt +1 -1
  156. oci_cli/help_text_producer/data_files/text/cmdref/dbtools/connection/change-compartment.txt +2 -2
  157. oci_cli/help_text_producer/data_files/text/cmdref/dbtools/connection/create-generic-jdbc.txt +11 -2
  158. oci_cli/help_text_producer/data_files/text/cmdref/dbtools/connection/create-mysql-database.txt +11 -2
  159. oci_cli/help_text_producer/data_files/text/cmdref/dbtools/connection/create-oracle-database.txt +10 -1
  160. oci_cli/help_text_producer/data_files/text/cmdref/dbtools/connection/create-postgresql.txt +11 -2
  161. oci_cli/help_text_producer/data_files/text/cmdref/dbtools/connection/delete.txt +1 -1
  162. oci_cli/help_text_producer/data_files/text/cmdref/dbtools/connection/list.txt +13 -5
  163. oci_cli/help_text_producer/data_files/text/cmdref/dbtools/connection/remove-lock.txt +1 -1
  164. oci_cli/help_text_producer/data_files/text/cmdref/dbtools/connection/update-generic-jdbc.txt +2 -2
  165. oci_cli/help_text_producer/data_files/text/cmdref/dbtools/connection/update-mysql-database.txt +3 -3
  166. oci_cli/help_text_producer/data_files/text/cmdref/dbtools/connection/update-oracle-database.txt +2 -2
  167. oci_cli/help_text_producer/data_files/text/cmdref/dbtools/connection/update-postgresql.txt +3 -3
  168. oci_cli/help_text_producer/data_files/text/cmdref/dbtools/connection.txt +2 -1
  169. oci_cli/help_text_producer/data_files/text/cmdref/dbtools/endpoint-service/list.txt +1 -1
  170. oci_cli/help_text_producer/data_files/text/cmdref/dbtools/identity/add-lock.txt +230 -0
  171. oci_cli/help_text_producer/data_files/text/cmdref/dbtools/identity/change-compartment.txt +136 -0
  172. oci_cli/help_text_producer/data_files/text/cmdref/dbtools/identity/create-oracle-database-resource-principal.txt +175 -0
  173. oci_cli/help_text_producer/data_files/text/cmdref/dbtools/identity/delete.txt +133 -0
  174. oci_cli/help_text_producer/data_files/text/cmdref/dbtools/identity/get.txt +91 -0
  175. oci_cli/help_text_producer/data_files/text/cmdref/dbtools/identity/list.txt +157 -0
  176. oci_cli/help_text_producer/data_files/text/cmdref/dbtools/identity/refresh-oracle-database-resource-principal-credential.txt +125 -0
  177. oci_cli/help_text_producer/data_files/text/cmdref/dbtools/identity/remove-lock.txt +230 -0
  178. oci_cli/help_text_producer/data_files/text/cmdref/dbtools/identity/update-oracle-database-resource-principal.txt +164 -0
  179. oci_cli/help_text_producer/data_files/text/cmdref/dbtools/identity/validate-oracle-database-resource-principal-credential.txt +101 -0
  180. oci_cli/help_text_producer/data_files/text/cmdref/dbtools/identity.txt +32 -0
  181. oci_cli/help_text_producer/data_files/text/cmdref/dbtools/private-endpoint/add-lock.txt +1 -1
  182. oci_cli/help_text_producer/data_files/text/cmdref/dbtools/private-endpoint/change-compartment.txt +1 -1
  183. oci_cli/help_text_producer/data_files/text/cmdref/dbtools/private-endpoint/create.txt +1 -1
  184. oci_cli/help_text_producer/data_files/text/cmdref/dbtools/private-endpoint/delete.txt +1 -1
  185. oci_cli/help_text_producer/data_files/text/cmdref/dbtools/private-endpoint/list.txt +1 -1
  186. oci_cli/help_text_producer/data_files/text/cmdref/dbtools/private-endpoint/remove-lock.txt +1 -1
  187. oci_cli/help_text_producer/data_files/text/cmdref/dbtools/private-endpoint/update.txt +1 -1
  188. oci_cli/help_text_producer/data_files/text/cmdref/dbtools/private-endpoint.txt +2 -1
  189. oci_cli/help_text_producer/data_files/text/cmdref/dbtools/work-request/get.txt +1 -1
  190. oci_cli/help_text_producer/data_files/text/cmdref/dbtools/work-request/list.txt +2 -2
  191. oci_cli/help_text_producer/data_files/text/cmdref/dbtools/work-request-error/list.txt +1 -1
  192. oci_cli/help_text_producer/data_files/text/cmdref/dbtools/work-request-log-entry/list.txt +1 -1
  193. oci_cli/help_text_producer/data_files/text/cmdref/dbtools.txt +22 -0
  194. oci_cli/help_text_producer/data_files/text/cmdref/delegate-access-control/work-request/work-request-error/{list-errors.txt → list.txt} +5 -5
  195. oci_cli/help_text_producer/data_files/text/cmdref/delegate-access-control/work-request/work-request-error.txt +1 -1
  196. oci_cli/help_text_producer/data_files/text/cmdref/delegate-access-control/work-request/work-request-log/{list-logs.txt → list.txt} +5 -5
  197. oci_cli/help_text_producer/data_files/text/cmdref/delegate-access-control/work-request/work-request-log.txt +1 -1
  198. oci_cli/help_text_producer/data_files/text/cmdref/delegate-access-control/work-request.txt +2 -2
  199. oci_cli/help_text_producer/data_files/text/cmdref/delegate-access-control.txt +2 -2
  200. oci_cli/help_text_producer/data_files/text/cmdref/disaster-recovery/automatic-dr-configuration/create.txt +204 -0
  201. oci_cli/help_text_producer/data_files/text/cmdref/disaster-recovery/automatic-dr-configuration/delete.txt +146 -0
  202. oci_cli/help_text_producer/data_files/text/cmdref/disaster-recovery/automatic-dr-configuration/get.txt +108 -0
  203. oci_cli/help_text_producer/data_files/text/cmdref/disaster-recovery/automatic-dr-configuration/list.txt +189 -0
  204. oci_cli/help_text_producer/data_files/text/cmdref/disaster-recovery/automatic-dr-configuration/update.txt +224 -0
  205. oci_cli/help_text_producer/data_files/text/cmdref/disaster-recovery/automatic-dr-configuration.txt +22 -0
  206. oci_cli/help_text_producer/data_files/text/cmdref/disaster-recovery/dr-plan-execution/update.txt +1 -1
  207. oci_cli/help_text_producer/data_files/text/cmdref/disaster-recovery/dr-protection-group/list.txt +1 -1
  208. oci_cli/help_text_producer/data_files/text/cmdref/disaster-recovery.txt +12 -0
  209. oci_cli/help_text_producer/data_files/text/cmdref/distributed-database/distributed-autonomous-db-service/distributed-autonomous-database/change-distributed-autonomous-db-backup-config.txt +159 -0
  210. oci_cli/help_text_producer/data_files/text/cmdref/distributed-database/distributed-autonomous-db-service/distributed-autonomous-database/create.txt +42 -12
  211. oci_cli/help_text_producer/data_files/text/cmdref/distributed-database/distributed-autonomous-db-service/distributed-autonomous-database/rotate-distributed-autonomous-database-passwords.txt +3 -2
  212. oci_cli/help_text_producer/data_files/text/cmdref/distributed-database/distributed-autonomous-db-service/distributed-autonomous-database.txt +2 -0
  213. oci_cli/help_text_producer/data_files/text/cmdref/distributed-database/distributed-autonomous-db-service.txt +2 -0
  214. oci_cli/help_text_producer/data_files/text/cmdref/distributed-database/distributed-db-service/distributed-database/create.txt +31 -11
  215. oci_cli/help_text_producer/data_files/text/cmdref/distributed-database/distributed-db-service/distributed-database/rotate-distributed-database-passwords.txt +3 -2
  216. oci_cli/help_text_producer/data_files/text/cmdref/distributed-database.txt +2 -0
  217. oci_cli/help_text_producer/data_files/text/cmdref/fs/mount-target/create.txt +19 -0
  218. oci_cli/help_text_producer/data_files/text/cmdref/fs/mount-target/update.txt +19 -0
  219. oci_cli/help_text_producer/data_files/text/cmdref/governance-rules-control-plane/work-request/{work-request-log/list.txt → work-request-log-entry/list-work-request-logs.txt} +5 -5
  220. oci_cli/help_text_producer/data_files/text/cmdref/governance-rules-control-plane/work-request/{work-request-log.txt → work-request-log-entry.txt} +3 -3
  221. oci_cli/help_text_producer/data_files/text/cmdref/governance-rules-control-plane/work-request.txt +2 -2
  222. oci_cli/help_text_producer/data_files/text/cmdref/governance-rules-control-plane.txt +2 -2
  223. oci_cli/help_text_producer/data_files/text/cmdref/identity-domains/social-identity-provider/create.txt +20 -0
  224. oci_cli/help_text_producer/data_files/text/cmdref/identity-domains/{social-identity-providers → social-identity-provider}/list.txt +2 -2
  225. oci_cli/help_text_producer/data_files/text/cmdref/identity-domains/social-identity-provider/put.txt +20 -0
  226. oci_cli/help_text_producer/data_files/text/cmdref/identity-domains/{social-identity-providers → social-identity-provider}/search.txt +3 -3
  227. oci_cli/help_text_producer/data_files/text/cmdref/identity-domains/social-identity-provider.txt +4 -0
  228. oci_cli/help_text_producer/data_files/text/cmdref/identity-domains.txt +2 -4
  229. oci_cli/help_text_producer/data_files/text/cmdref/lb/load-balancer/update.txt +25 -0
  230. oci_cli/help_text_producer/data_files/text/cmdref/lfs/object-storage-link/change-compartment.txt +148 -0
  231. oci_cli/help_text_producer/data_files/text/cmdref/lfs/object-storage-link/create.txt +217 -0
  232. oci_cli/help_text_producer/data_files/text/cmdref/lfs/object-storage-link/delete.txt +146 -0
  233. oci_cli/help_text_producer/data_files/text/cmdref/lfs/object-storage-link/get-sync-job.txt +122 -0
  234. oci_cli/help_text_producer/data_files/text/cmdref/lfs/object-storage-link/get.txt +108 -0
  235. oci_cli/help_text_producer/data_files/text/cmdref/lfs/object-storage-link/list-sync-jobs.txt +167 -0
  236. oci_cli/help_text_producer/data_files/text/cmdref/lfs/object-storage-link/start-export-to-object.txt +118 -0
  237. oci_cli/help_text_producer/data_files/text/cmdref/lfs/object-storage-link/start-import-from-object.txt +118 -0
  238. oci_cli/help_text_producer/data_files/text/cmdref/lfs/object-storage-link/stop-export-to-object.txt +118 -0
  239. oci_cli/help_text_producer/data_files/text/cmdref/lfs/object-storage-link/stop-import-from-object.txt +118 -0
  240. oci_cli/help_text_producer/data_files/text/cmdref/lfs/object-storage-link/update.txt +200 -0
  241. oci_cli/help_text_producer/data_files/text/cmdref/lfs/object-storage-link-collection/list-object-storage-links.txt +154 -0
  242. oci_cli/help_text_producer/data_files/text/cmdref/lfs/object-storage-link-collection.txt +16 -0
  243. oci_cli/help_text_producer/data_files/text/cmdref/lfs/object-storage-link.txt +42 -0
  244. oci_cli/help_text_producer/data_files/text/cmdref/lfs.txt +28 -0
  245. oci_cli/help_text_producer/data_files/text/cmdref/network/ipam/get-subnet-cidr-utilization.txt +1 -1
  246. oci_cli/help_text_producer/data_files/text/cmdref/network/ipam/get-subnet-ip-inventory.txt +1 -1
  247. oci_cli/help_text_producer/data_files/text/cmdref/network/private-ip/create.txt +18 -0
  248. oci_cli/help_text_producer/data_files/text/cmdref/network/subnet/add-ipv4-subnet-cidr.txt +143 -0
  249. oci_cli/help_text_producer/data_files/text/cmdref/network/subnet/add-ipv6-subnet-cidr.txt +1 -1
  250. oci_cli/help_text_producer/data_files/text/cmdref/network/subnet/change-compartment.txt +1 -1
  251. oci_cli/help_text_producer/data_files/text/cmdref/network/subnet/create.txt +28 -13
  252. oci_cli/help_text_producer/data_files/text/cmdref/network/subnet/delete.txt +1 -1
  253. oci_cli/help_text_producer/data_files/text/cmdref/network/subnet/get.txt +1 -1
  254. oci_cli/help_text_producer/data_files/text/cmdref/network/subnet/modify-ipv4-subnet-cidr.txt +148 -0
  255. oci_cli/help_text_producer/data_files/text/cmdref/network/subnet/remove-ipv4-subnet-cidr.txt +145 -0
  256. oci_cli/help_text_producer/data_files/text/cmdref/network/subnet/remove-ipv6-subnet-cidr.txt +1 -1
  257. oci_cli/help_text_producer/data_files/text/cmdref/network/subnet/update.txt +1 -1
  258. oci_cli/help_text_producer/data_files/text/cmdref/network/subnet-topology/get.txt +1 -1
  259. oci_cli/help_text_producer/data_files/text/cmdref/network/subnet.txt +6 -0
  260. oci_cli/help_text_producer/data_files/text/cmdref/network/vnic/assign-private-ip.txt +18 -0
  261. oci_cli/help_text_producer/data_files/text/cmdref/network.txt +6 -0
  262. oci_cli/help_text_producer/data_files/text/cmdref/organizations/work-request-error/{list.txt → list-errors.txt} +5 -5
  263. oci_cli/help_text_producer/data_files/text/cmdref/organizations/work-request-error.txt +1 -1
  264. oci_cli/help_text_producer/data_files/text/cmdref/organizations.txt +1 -1
  265. oci_cli/help_text_producer/data_files/text/cmdref/psa/private-service-access/change-compartment.txt +136 -0
  266. oci_cli/help_text_producer/data_files/text/cmdref/psa/private-service-access/create.txt +214 -0
  267. oci_cli/help_text_producer/data_files/text/cmdref/psa/private-service-access/delete.txt +133 -0
  268. oci_cli/help_text_producer/data_files/text/cmdref/psa/private-service-access/get.txt +95 -0
  269. oci_cli/help_text_producer/data_files/text/cmdref/psa/private-service-access/list.txt +152 -0
  270. oci_cli/help_text_producer/data_files/text/cmdref/psa/private-service-access/update.txt +211 -0
  271. oci_cli/help_text_producer/data_files/text/cmdref/psa/private-service-access.txt +25 -0
  272. oci_cli/help_text_producer/data_files/text/cmdref/psa/psa-services/list.txt +129 -0
  273. oci_cli/help_text_producer/data_files/text/cmdref/psa/psa-services.txt +16 -0
  274. oci_cli/help_text_producer/data_files/text/cmdref/psa/work-request/cancel.txt +103 -0
  275. oci_cli/help_text_producer/data_files/text/cmdref/psa/work-request/get.txt +91 -0
  276. oci_cli/help_text_producer/data_files/text/cmdref/psa/work-request/list.txt +140 -0
  277. oci_cli/help_text_producer/data_files/text/cmdref/psa/work-request-error/list.txt +131 -0
  278. oci_cli/help_text_producer/data_files/text/cmdref/psa/work-request-error.txt +15 -0
  279. oci_cli/help_text_producer/data_files/text/cmdref/psa/work-request-log/list.txt +131 -0
  280. oci_cli/help_text_producer/data_files/text/cmdref/psa/work-request-log.txt +15 -0
  281. oci_cli/help_text_producer/data_files/text/cmdref/psa/work-request.txt +23 -0
  282. oci_cli/help_text_producer/data_files/text/cmdref/psa.txt +47 -0
  283. oci_cli/help_text_producer/data_files/text/cmdref/session/authenticate.txt +9 -9
  284. oci_cli/help_text_producer/data_files/text/cmdref/support/incident/create.txt +6 -6
  285. oci_cli/help_text_producer/data_files/text/cmdref/support/incident/get.txt +2 -2
  286. oci_cli/help_text_producer/data_files/text/cmdref/support/incident/list.txt +1 -1
  287. oci_cli/help_text_producer/data_files/text/cmdref/support/incident/update.txt +4 -4
  288. oci_cli/help_text_producer/data_files/text/cmdref/support/incident-resource-type/list.txt +3 -3
  289. oci_cli/help_text_producer/data_files/text/cmdref/support/validation-response/validate-user.txt +1 -1
  290. oci_cli/help_text_producer/data_files/text/index.txt +2 -0
  291. oci_cli/service_mapping.py +5 -0
  292. oci_cli/version.py +1 -1
  293. {oci_cli-3.68.1.dist-info → oci_cli-3.70.0.dist-info}/METADATA +3 -3
  294. {oci_cli-3.68.1.dist-info → oci_cli-3.70.0.dist-info}/RECORD +322 -253
  295. services/ai_language/src/oci_cli_ai_service_language/generated/aiservicelanguage_cli.py +1 -5
  296. services/core/src/oci_cli_compute/generated/compute_cli.py +4 -1
  297. services/core/src/oci_cli_compute_management/generated/computemanagement_cli.py +44 -9
  298. services/core/src/oci_cli_virtual_network/generated/virtualnetwork_cli.py +245 -10
  299. services/core/src/oci_cli_virtual_network/virtualnetwork_cli_extended.py +11 -1
  300. services/database/src/oci_cli_database/generated/database_cli.py +1507 -1216
  301. services/database_tools/src/oci_cli_database_tools/databasetools_cli_extended.py +198 -4
  302. services/database_tools/src/oci_cli_database_tools/generated/databasetools_cli.py +926 -53
  303. services/disaster_recovery/src/oci_cli_disaster_recovery/generated/disasterrecovery_cli.py +366 -2
  304. services/distributed_database/src/oci_cli_distributed_autonomous_db_service/generated/distributedautonomousdbservice_cli.py +77 -12
  305. services/distributed_database/src/oci_cli_distributed_db_service/generated/distributeddbservice_cli.py +8 -8
  306. services/file_storage/src/oci_cli_file_storage/generated/filestorage_cli.py +20 -8
  307. services/identity_domains/src/oci_cli_identity_domains/generated/identitydomains_cli.py +36 -11
  308. services/load_balancer/src/oci_cli_load_balancer/generated/loadbalancer_cli.py +17 -5
  309. services/lustre_file_storage/src/oci_cli_lustre_file_storage/generated/lustrefilestorage_cli.py +581 -0
  310. services/psa/__init__.py +4 -0
  311. services/psa/src/__init__.py +4 -0
  312. services/psa/src/oci_cli_private_service_access/__init__.py +4 -0
  313. services/psa/src/oci_cli_private_service_access/generated/__init__.py +4 -0
  314. services/psa/src/oci_cli_private_service_access/generated/client_mappings.py +14 -0
  315. services/psa/src/oci_cli_private_service_access/generated/privateserviceaccess_cli.py +738 -0
  316. services/psa/src/oci_cli_private_service_access/privateserviceaccess_cli_extended.py +92 -0
  317. services/psa/tests/__init__.py +4 -0
  318. oci_cli/help_text_producer/data_files/text/cmdref/identity-domains/social-identity-providers.txt +0 -20
  319. {oci_cli-3.68.1.dist-info → oci_cli-3.70.0.dist-info}/LICENSE.txt +0 -0
  320. {oci_cli-3.68.1.dist-info → oci_cli-3.70.0.dist-info}/THIRD_PARTY_LICENSES.txt +0 -0
  321. {oci_cli-3.68.1.dist-info → oci_cli-3.70.0.dist-info}/WHEEL +0 -0
  322. {oci_cli-3.68.1.dist-info → oci_cli-3.70.0.dist-info}/entry_points.txt +0 -0
  323. {oci_cli-3.68.1.dist-info → oci_cli-3.70.0.dist-info}/top_level.txt +0 -0
@@ -37,6 +37,12 @@ def work_request_error_group():
37
37
  pass
38
38
 
39
39
 
40
+ @click.command(cli_util.override('disaster_recovery.automatic_dr_configuration_group.command_name', 'automatic-dr-configuration'), cls=CommandGroupWithAlias, help="""The details of Automatic DR configuration.""")
41
+ @cli_util.help_option_group
42
+ def automatic_dr_configuration_group():
43
+ pass
44
+
45
+
40
46
  @click.command(cli_util.override('disaster_recovery.dr_plan_execution_group.command_name', 'dr-plan-execution'), cls=CommandGroupWithAlias, help="""The details of a DR plan execution.""")
41
47
  @cli_util.help_option_group
42
48
  def dr_plan_execution_group():
@@ -63,6 +69,7 @@ def dr_plan_group():
63
69
 
64
70
  disaster_recovery_root_group.add_command(dr_protection_group_group)
65
71
  disaster_recovery_root_group.add_command(work_request_error_group)
72
+ disaster_recovery_root_group.add_command(automatic_dr_configuration_group)
66
73
  disaster_recovery_root_group.add_command(dr_plan_execution_group)
67
74
  disaster_recovery_root_group.add_command(work_request_log_entry_group)
68
75
  disaster_recovery_root_group.add_command(work_request_group)
@@ -304,6 +311,91 @@ def change_dr_protection_group_compartment(ctx, from_json, wait_for_state, max_w
304
311
  cli_util.render_response(result, ctx)
305
312
 
306
313
 
314
+ @automatic_dr_configuration_group.command(name=cli_util.override('disaster_recovery.create_automatic_dr_configuration.command_name', 'create'), help=u"""Create a Automatic DR configuration. \n[Command Reference](createAutomaticDrConfiguration)""")
315
+ @cli_util.option('--display-name', required=True, help=u"""The display name of the Automatic DR configuration being created.
316
+
317
+ Example: `Automatic DR Configuration`""")
318
+ @cli_util.option('--dr-protection-group-id', required=True, help=u"""The OCID of the DR protection group to which this Automatic DR configuration belongs.
319
+
320
+ Example: `ocid1.drprotectiongroup.oc1..uniqueID`""")
321
+ @cli_util.option('--members', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""A list of members for Automatic DR configuration.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
322
+ @cli_util.option('--default-switchover-dr-plan-id', help=u"""The unique id of a Switchover DR Plan.
323
+
324
+ Example: `ocid1.drplan.oc1..uniqueID`""")
325
+ @cli_util.option('--default-failover-dr-plan-id', help=u"""The unique id of a Failover DR Plan.
326
+
327
+ Example: `ocid1.drplan.oc1..uniqueID`""")
328
+ @cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only.
329
+
330
+ Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
331
+ @cli_util.option('--defined-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Defined tags for this resource. Each key is predefined and scoped to a namespace.
332
+
333
+ Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
334
+ @cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "CANCELING", "CANCELED", "SUCCEEDED", "FAILED", "NEEDS_ATTENTION"]), multiple=True, help="""This operation asynchronously creates, modifies or deletes a resource and uses a work request to track the progress of the operation. Specify this option to perform the action and then wait until the work request reaches a certain state. Multiple states can be specified, returning on the first state. For example, --wait-for-state SUCCEEDED --wait-for-state FAILED would return on whichever lifecycle state is reached first. If timeout is reached, a return code of 2 is returned. For any other error, a return code of 1 is returned.""")
335
+ @cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the work request to reach the state defined by --wait-for-state. Defaults to 1200 seconds.""")
336
+ @cli_util.option('--wait-interval-seconds', type=click.INT, help="""Check every --wait-interval-seconds to see whether the work request has reached the state defined by --wait-for-state. Defaults to 30 seconds.""")
337
+ @json_skeleton_utils.get_cli_json_input_option({'members': {'module': 'disaster_recovery', 'class': 'list[CreateAutomaticDrConfigurationMemberDetails]'}, 'freeform-tags': {'module': 'disaster_recovery', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'disaster_recovery', 'class': 'dict(str, dict(str, object))'}})
338
+ @cli_util.help_option
339
+ @click.pass_context
340
+ @json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'members': {'module': 'disaster_recovery', 'class': 'list[CreateAutomaticDrConfigurationMemberDetails]'}, 'freeform-tags': {'module': 'disaster_recovery', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'disaster_recovery', 'class': 'dict(str, dict(str, object))'}}, output_type={'module': 'disaster_recovery', 'class': 'AutomaticDrConfiguration'})
341
+ @cli_util.wrap_exceptions
342
+ def create_automatic_dr_configuration(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_seconds, display_name, dr_protection_group_id, members, default_switchover_dr_plan_id, default_failover_dr_plan_id, freeform_tags, defined_tags):
343
+
344
+ kwargs = {}
345
+ kwargs['opc_request_id'] = cli_util.use_or_generate_request_id(ctx.obj['request_id'])
346
+
347
+ _details = {}
348
+ _details['displayName'] = display_name
349
+ _details['drProtectionGroupId'] = dr_protection_group_id
350
+ _details['members'] = cli_util.parse_json_parameter("members", members)
351
+
352
+ if default_switchover_dr_plan_id is not None:
353
+ _details['defaultSwitchoverDrPlanId'] = default_switchover_dr_plan_id
354
+
355
+ if default_failover_dr_plan_id is not None:
356
+ _details['defaultFailoverDrPlanId'] = default_failover_dr_plan_id
357
+
358
+ if freeform_tags is not None:
359
+ _details['freeformTags'] = cli_util.parse_json_parameter("freeform_tags", freeform_tags)
360
+
361
+ if defined_tags is not None:
362
+ _details['definedTags'] = cli_util.parse_json_parameter("defined_tags", defined_tags)
363
+
364
+ client = cli_util.build_client('disaster_recovery', 'disaster_recovery', ctx)
365
+ result = client.create_automatic_dr_configuration(
366
+ create_automatic_dr_configuration_details=_details,
367
+ **kwargs
368
+ )
369
+ if wait_for_state:
370
+
371
+ if hasattr(client, 'get_work_request') and callable(getattr(client, 'get_work_request')):
372
+ try:
373
+ wait_period_kwargs = {}
374
+ if max_wait_seconds is not None:
375
+ wait_period_kwargs['max_wait_seconds'] = max_wait_seconds
376
+ if wait_interval_seconds is not None:
377
+ wait_period_kwargs['max_interval_seconds'] = wait_interval_seconds
378
+ if 'opc-work-request-id' not in result.headers:
379
+ click.echo('Encountered error while waiting for work request to enter the specified state. Outputting last known resource state')
380
+ cli_util.render_response(result, ctx)
381
+ return
382
+
383
+ click.echo('Action completed. Waiting until the work request has entered state: {}'.format(wait_for_state), file=sys.stderr)
384
+ result = oci.wait_until(client, client.get_work_request(result.headers['opc-work-request-id']), 'status', wait_for_state, **wait_period_kwargs)
385
+ except oci.exceptions.MaximumWaitTimeExceeded as e:
386
+ # If we fail, we should show an error, but we should still provide the information to the customer
387
+ click.echo('Failed to wait until the work request entered the specified state. Outputting last known resource state', file=sys.stderr)
388
+ cli_util.render_response(result, ctx)
389
+ sys.exit(2)
390
+ except Exception:
391
+ click.echo('Encountered error while waiting for work request to enter the specified state. Outputting last known resource state', file=sys.stderr)
392
+ cli_util.render_response(result, ctx)
393
+ raise
394
+ else:
395
+ click.echo('Unable to wait for the work request to enter the specified state', file=sys.stderr)
396
+ cli_util.render_response(result, ctx)
397
+
398
+
307
399
  @dr_plan_group.command(name=cli_util.override('disaster_recovery.create_dr_plan.command_name', 'create'), help=u"""Create a DR plan of the specified DR plan type. \n[Command Reference](createDrPlan)""")
308
400
  @cli_util.option('--display-name', required=True, help=u"""The display name of the DR plan being created.
309
401
 
@@ -1221,6 +1313,72 @@ def create_dr_protection_group(ctx, from_json, wait_for_state, max_wait_seconds,
1221
1313
  cli_util.render_response(result, ctx)
1222
1314
 
1223
1315
 
1316
+ @automatic_dr_configuration_group.command(name=cli_util.override('disaster_recovery.delete_automatic_dr_configuration.command_name', 'delete'), help=u"""Delete the automatic DR configuration identified by *automaticDrConfigurationId*. \n[Command Reference](deleteAutomaticDrConfiguration)""")
1317
+ @cli_util.option('--automatic-dr-configuration-id', required=True, help=u"""The OCID of the Automatic DR configuration.
1318
+
1319
+ Example: `ocid1.automaticDrConfiguration.oc1..uniqueID`""")
1320
+ @cli_util.option('--if-match', help=u"""For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match` parameter to the value of the etag from a previous GET or POST response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value.""")
1321
+ @cli_util.confirm_delete_option
1322
+ @cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "INACTIVE", "NEEDS_ATTENTION", "DELETING", "DELETED", "FAILED"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle state. Multiple states can be specified, returning on the first state. For example, --wait-for-state SUCCEEDED --wait-for-state FAILED would return on whichever lifecycle state is reached first. If timeout is reached, a return code of 2 is returned. For any other error, a return code of 1 is returned.""")
1323
+ @cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the resource to reach the lifecycle state defined by --wait-for-state. Defaults to 1200 seconds.""")
1324
+ @cli_util.option('--wait-interval-seconds', type=click.INT, help="""Check every --wait-interval-seconds to see whether the resource has reached the lifecycle state defined by --wait-for-state. Defaults to 30 seconds.""")
1325
+ @json_skeleton_utils.get_cli_json_input_option({})
1326
+ @cli_util.help_option
1327
+ @click.pass_context
1328
+ @json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={})
1329
+ @cli_util.wrap_exceptions
1330
+ def delete_automatic_dr_configuration(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_seconds, automatic_dr_configuration_id, if_match):
1331
+
1332
+ if isinstance(automatic_dr_configuration_id, six.string_types) and len(automatic_dr_configuration_id.strip()) == 0:
1333
+ raise click.UsageError('Parameter --automatic-dr-configuration-id cannot be whitespace or empty string')
1334
+
1335
+ kwargs = {}
1336
+ if if_match is not None:
1337
+ kwargs['if_match'] = if_match
1338
+ kwargs['opc_request_id'] = cli_util.use_or_generate_request_id(ctx.obj['request_id'])
1339
+ client = cli_util.build_client('disaster_recovery', 'disaster_recovery', ctx)
1340
+ result = client.delete_automatic_dr_configuration(
1341
+ automatic_dr_configuration_id=automatic_dr_configuration_id,
1342
+ **kwargs
1343
+ )
1344
+ if wait_for_state:
1345
+
1346
+ if hasattr(client, 'get_automatic_dr_configuration') and callable(getattr(client, 'get_automatic_dr_configuration')):
1347
+ try:
1348
+ wait_period_kwargs = {}
1349
+ if max_wait_seconds is not None:
1350
+ wait_period_kwargs['max_wait_seconds'] = max_wait_seconds
1351
+ if wait_interval_seconds is not None:
1352
+ wait_period_kwargs['max_interval_seconds'] = wait_interval_seconds
1353
+
1354
+ click.echo('Action completed. Waiting until the resource has entered state: {}'.format(wait_for_state), file=sys.stderr)
1355
+ oci.wait_until(client, client.get_automatic_dr_configuration(automatic_dr_configuration_id), 'lifecycle_state', wait_for_state, succeed_on_not_found=True, **wait_period_kwargs)
1356
+ except oci.exceptions.ServiceError as e:
1357
+ # We make an initial service call so we can pass the result to oci.wait_until(), however if we are waiting on the
1358
+ # outcome of a delete operation it is possible that the resource is already gone and so the initial service call
1359
+ # will result in an exception that reflects a HTTP 404. In this case, we can exit with success (rather than raising
1360
+ # the exception) since this would have been the behaviour in the waiter anyway (as for delete we provide the argument
1361
+ # succeed_on_not_found=True to the waiter).
1362
+ #
1363
+ # Any non-404 should still result in the exception being thrown.
1364
+ if e.status == 404:
1365
+ pass
1366
+ else:
1367
+ raise
1368
+ except oci.exceptions.MaximumWaitTimeExceeded as e:
1369
+ # If we fail, we should show an error, but we should still provide the information to the customer
1370
+ click.echo('Failed to wait until the resource entered the specified state. Please retrieve the resource to find its current state', file=sys.stderr)
1371
+ cli_util.render_response(result, ctx)
1372
+ sys.exit(2)
1373
+ except Exception:
1374
+ click.echo('Encountered error while waiting for resource to enter the specified state. Outputting last known resource state', file=sys.stderr)
1375
+ cli_util.render_response(result, ctx)
1376
+ raise
1377
+ else:
1378
+ click.echo('Unable to wait for the resource to enter the specified state', file=sys.stderr)
1379
+ cli_util.render_response(result, ctx)
1380
+
1381
+
1224
1382
  @dr_plan_group.command(name=cli_util.override('disaster_recovery.delete_dr_plan.command_name', 'delete'), help=u"""Delete the DR plan identified by *drPlanId*. \n[Command Reference](deleteDrPlan)""")
1225
1383
  @cli_util.option('--dr-plan-id', required=True, help=u"""The OCID of the DR plan.
1226
1384
 
@@ -1529,6 +1687,30 @@ def disassociate_dr_protection_group_disassociate_dr_protection_group_default_de
1529
1687
  cli_util.render_response(result, ctx)
1530
1688
 
1531
1689
 
1690
+ @automatic_dr_configuration_group.command(name=cli_util.override('disaster_recovery.get_automatic_dr_configuration.command_name', 'get'), help=u"""Get details for the Automatic DR configuration identified by *automaticDrConfigurationId*. \n[Command Reference](getAutomaticDrConfiguration)""")
1691
+ @cli_util.option('--automatic-dr-configuration-id', required=True, help=u"""The OCID of the Automatic DR configuration.
1692
+
1693
+ Example: `ocid1.automaticDrConfiguration.oc1..uniqueID`""")
1694
+ @json_skeleton_utils.get_cli_json_input_option({})
1695
+ @cli_util.help_option
1696
+ @click.pass_context
1697
+ @json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={}, output_type={'module': 'disaster_recovery', 'class': 'AutomaticDrConfiguration'})
1698
+ @cli_util.wrap_exceptions
1699
+ def get_automatic_dr_configuration(ctx, from_json, automatic_dr_configuration_id):
1700
+
1701
+ if isinstance(automatic_dr_configuration_id, six.string_types) and len(automatic_dr_configuration_id.strip()) == 0:
1702
+ raise click.UsageError('Parameter --automatic-dr-configuration-id cannot be whitespace or empty string')
1703
+
1704
+ kwargs = {}
1705
+ kwargs['opc_request_id'] = cli_util.use_or_generate_request_id(ctx.obj['request_id'])
1706
+ client = cli_util.build_client('disaster_recovery', 'disaster_recovery', ctx)
1707
+ result = client.get_automatic_dr_configuration(
1708
+ automatic_dr_configuration_id=automatic_dr_configuration_id,
1709
+ **kwargs
1710
+ )
1711
+ cli_util.render_response(result, ctx)
1712
+
1713
+
1532
1714
  @dr_plan_group.command(name=cli_util.override('disaster_recovery.get_dr_plan.command_name', 'get'), help=u"""Get details for the DR plan identified by *drPlanId*. \n[Command Reference](getDrPlan)""")
1533
1715
  @cli_util.option('--dr-plan-id', required=True, help=u"""The OCID of the DR plan.
1534
1716
 
@@ -1696,6 +1878,86 @@ def ignore_dr_plan_execution(ctx, from_json, wait_for_state, max_wait_seconds, w
1696
1878
  cli_util.render_response(result, ctx)
1697
1879
 
1698
1880
 
1881
+ @automatic_dr_configuration_group.command(name=cli_util.override('disaster_recovery.list_automatic_dr_configurations.command_name', 'list'), help=u"""Get a summary list of automatic DR configurations for a DR protection group. \n[Command Reference](listAutomaticDrConfigurations)""")
1882
+ @cli_util.option('--dr-protection-group-id', required=True, help=u"""The OCID of the DR protection group. Mandatory query param.
1883
+
1884
+ Example: `ocid1.drprotectiongroup.oc1..uniqueID`""")
1885
+ @cli_util.option('--automatic-dr-configuration-id', help=u"""The OCID of the automatic DR configuration.
1886
+
1887
+ Example: `ocid1.automaticDrConfiguration.oc1..uniqueID`""")
1888
+ @cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "INACTIVE", "NEEDS_ATTENTION", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only Automatic DR configurations that match the given lifecycle state.""")
1889
+ @cli_util.option('--lifecycle-state-not-equal-to', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "INACTIVE", "NEEDS_ATTENTION", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only Automatic DR configurations that do not match the given lifecycle state.""")
1890
+ @cli_util.option('--display-name', help=u"""A filter to return only resources that match the given display name.
1891
+
1892
+ Example: `MyResourceDisplayName`""")
1893
+ @cli_util.option('--limit', type=click.INT, help=u"""For list pagination. The maximum number of results per page, or items to return in a paginated \"List\" call. 1 is the minimum, 1000 is the maximum.
1894
+
1895
+ For important details about how pagination works, see [List Pagination].
1896
+
1897
+ Example: `100`""")
1898
+ @cli_util.option('--page', help=u"""For list pagination. The value of the `opc-next-page` response header from the previous \"List\" call.
1899
+
1900
+ For important details about how pagination works, see [List Pagination].""")
1901
+ @cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either 'asc' or 'desc'.""")
1902
+ @cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["timeCreated", "displayName"]), help=u"""The field to sort by. Only one sort order may be provided. Default order for timeCreated is descending. Default order for displayName is ascending. If no value is specified timeCreated is default.
1903
+
1904
+ Example: `MyResourceDisplayName`""")
1905
+ @cli_util.option('--all', 'all_pages', is_flag=True, help="""Fetches all pages of results. If you provide this option, then you cannot provide the --limit option.""")
1906
+ @cli_util.option('--page-size', type=click.INT, help="""When fetching results, the number of results to fetch per call. Only valid when used with --all or --limit, and ignored otherwise.""")
1907
+ @json_skeleton_utils.get_cli_json_input_option({})
1908
+ @cli_util.help_option
1909
+ @click.pass_context
1910
+ @json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={}, output_type={'module': 'disaster_recovery', 'class': 'AutomaticDrConfigurationCollection'})
1911
+ @cli_util.wrap_exceptions
1912
+ def list_automatic_dr_configurations(ctx, from_json, all_pages, page_size, dr_protection_group_id, automatic_dr_configuration_id, lifecycle_state, lifecycle_state_not_equal_to, display_name, limit, page, sort_order, sort_by):
1913
+
1914
+ if all_pages and limit:
1915
+ raise click.UsageError('If you provide the --all option you cannot provide the --limit option')
1916
+
1917
+ kwargs = {}
1918
+ if automatic_dr_configuration_id is not None:
1919
+ kwargs['automatic_dr_configuration_id'] = automatic_dr_configuration_id
1920
+ if lifecycle_state is not None:
1921
+ kwargs['lifecycle_state'] = lifecycle_state
1922
+ if lifecycle_state_not_equal_to is not None:
1923
+ kwargs['lifecycle_state_not_equal_to'] = lifecycle_state_not_equal_to
1924
+ if display_name is not None:
1925
+ kwargs['display_name'] = display_name
1926
+ if limit is not None:
1927
+ kwargs['limit'] = limit
1928
+ if page is not None:
1929
+ kwargs['page'] = page
1930
+ if sort_order is not None:
1931
+ kwargs['sort_order'] = sort_order
1932
+ if sort_by is not None:
1933
+ kwargs['sort_by'] = sort_by
1934
+ kwargs['opc_request_id'] = cli_util.use_or_generate_request_id(ctx.obj['request_id'])
1935
+ client = cli_util.build_client('disaster_recovery', 'disaster_recovery', ctx)
1936
+ if all_pages:
1937
+ if page_size:
1938
+ kwargs['limit'] = page_size
1939
+
1940
+ result = cli_util.list_call_get_all_results(
1941
+ client.list_automatic_dr_configurations,
1942
+ dr_protection_group_id=dr_protection_group_id,
1943
+ **kwargs
1944
+ )
1945
+ elif limit is not None:
1946
+ result = cli_util.list_call_get_up_to_limit(
1947
+ client.list_automatic_dr_configurations,
1948
+ limit,
1949
+ page_size,
1950
+ dr_protection_group_id=dr_protection_group_id,
1951
+ **kwargs
1952
+ )
1953
+ else:
1954
+ result = client.list_automatic_dr_configurations(
1955
+ dr_protection_group_id=dr_protection_group_id,
1956
+ **kwargs
1957
+ )
1958
+ cli_util.render_response(result, ctx)
1959
+
1960
+
1699
1961
  @dr_plan_execution_group.command(name=cli_util.override('disaster_recovery.list_dr_plan_executions.command_name', 'list'), help=u"""Get a summary list of all DR plan executions for a DR protection group. \n[Command Reference](listDrPlanExecutions)""")
1700
1962
  @cli_util.option('--dr-protection-group-id', required=True, help=u"""The OCID of the DR protection group. Mandatory query param.
1701
1963
 
@@ -1880,7 +2142,7 @@ For important details about how pagination works, see [List Pagination].""")
1880
2142
 
1881
2143
  Example: `MyResourceDisplayName`""")
1882
2144
  @cli_util.option('--role', type=custom_types.CliCaseInsensitiveChoice(["PRIMARY", "STANDBY", "UNCONFIGURED"]), help=u"""The DR protection group Role.""")
1883
- @cli_util.option('--lifecycle-sub-state', type=custom_types.CliCaseInsensitiveChoice(["DR_DRILL_IN_PROGRESS"]), help=u"""A filter to return only DR protection groups that match the given lifecycle sub-state.""")
2145
+ @cli_util.option('--lifecycle-sub-state', type=custom_types.CliCaseInsensitiveChoice(["DR_DRILL_IN_PROGRESS", "DR_PLAN_EXECUTION_IN_PROGRESS", "AUTOMATIC_DR_PLAN_EXECUTION_IN_PROGRESS"]), help=u"""A filter to return only DR protection groups that match the given lifecycle sub-state.""")
1884
2146
  @cli_util.option('--all', 'all_pages', is_flag=True, help="""Fetches all pages of results. If you provide this option, then you cannot provide the --limit option.""")
1885
2147
  @cli_util.option('--page-size', type=click.INT, help="""When fetching results, the number of results to fetch per call. Only valid when used with --all or --limit, and ignored otherwise.""")
1886
2148
  @json_skeleton_utils.get_cli_json_input_option({})
@@ -2470,6 +2732,108 @@ def retry_dr_plan_execution(ctx, from_json, wait_for_state, max_wait_seconds, wa
2470
2732
  cli_util.render_response(result, ctx)
2471
2733
 
2472
2734
 
2735
+ @automatic_dr_configuration_group.command(name=cli_util.override('disaster_recovery.update_automatic_dr_configuration.command_name', 'update'), help=u"""Update the Automatic DR configuration identified by *automaticDrConfigurationId*. \n[Command Reference](updateAutomaticDrConfiguration)""")
2736
+ @cli_util.option('--automatic-dr-configuration-id', required=True, help=u"""The OCID of the Automatic DR configuration.
2737
+
2738
+ Example: `ocid1.automaticDrConfiguration.oc1..uniqueID`""")
2739
+ @cli_util.option('--display-name', help=u"""The display name of the Automatic DR configuration being updated.
2740
+
2741
+ Example: `Automatic DR Configuration`""")
2742
+ @cli_util.option('--members', type=custom_types.CLI_COMPLEX_TYPE, help=u"""A list of members for Automatic DR configuration.
2743
+
2744
+ This option is a JSON list with items of type UpdateAutomaticDrConfigurationMemberDetails. For documentation on UpdateAutomaticDrConfigurationMemberDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/disasterrecovery/20220125/datatypes/UpdateAutomaticDrConfigurationMemberDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
2745
+ @cli_util.option('--default-switchover-dr-plan-id', help=u"""The unique id of a Switchover DR Plan.
2746
+
2747
+ Example: `ocid1.drplan.oc1..uniqueID`""")
2748
+ @cli_util.option('--default-failover-dr-plan-id', help=u"""The unique id of a Failover DR Plan.
2749
+
2750
+ Example: `ocid1.drplan.oc1..uniqueID`""")
2751
+ @cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only.
2752
+
2753
+ Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
2754
+ @cli_util.option('--defined-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Defined tags for this resource. Each key is predefined and scoped to a namespace.
2755
+
2756
+ Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
2757
+ @cli_util.option('--if-match', help=u"""For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match` parameter to the value of the etag from a previous GET or POST response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value.""")
2758
+ @cli_util.option('--force', help="""Perform update without prompting for confirmation.""", is_flag=True)
2759
+ @cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "CANCELING", "CANCELED", "SUCCEEDED", "FAILED", "NEEDS_ATTENTION"]), multiple=True, help="""This operation asynchronously creates, modifies or deletes a resource and uses a work request to track the progress of the operation. Specify this option to perform the action and then wait until the work request reaches a certain state. Multiple states can be specified, returning on the first state. For example, --wait-for-state SUCCEEDED --wait-for-state FAILED would return on whichever lifecycle state is reached first. If timeout is reached, a return code of 2 is returned. For any other error, a return code of 1 is returned.""")
2760
+ @cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the work request to reach the state defined by --wait-for-state. Defaults to 1200 seconds.""")
2761
+ @cli_util.option('--wait-interval-seconds', type=click.INT, help="""Check every --wait-interval-seconds to see whether the work request has reached the state defined by --wait-for-state. Defaults to 30 seconds.""")
2762
+ @json_skeleton_utils.get_cli_json_input_option({'members': {'module': 'disaster_recovery', 'class': 'list[UpdateAutomaticDrConfigurationMemberDetails]'}, 'freeform-tags': {'module': 'disaster_recovery', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'disaster_recovery', 'class': 'dict(str, dict(str, object))'}})
2763
+ @cli_util.help_option
2764
+ @click.pass_context
2765
+ @json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'members': {'module': 'disaster_recovery', 'class': 'list[UpdateAutomaticDrConfigurationMemberDetails]'}, 'freeform-tags': {'module': 'disaster_recovery', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'disaster_recovery', 'class': 'dict(str, dict(str, object))'}})
2766
+ @cli_util.wrap_exceptions
2767
+ def update_automatic_dr_configuration(ctx, from_json, force, wait_for_state, max_wait_seconds, wait_interval_seconds, automatic_dr_configuration_id, display_name, members, default_switchover_dr_plan_id, default_failover_dr_plan_id, freeform_tags, defined_tags, if_match):
2768
+
2769
+ if isinstance(automatic_dr_configuration_id, six.string_types) and len(automatic_dr_configuration_id.strip()) == 0:
2770
+ raise click.UsageError('Parameter --automatic-dr-configuration-id cannot be whitespace or empty string')
2771
+ if not force:
2772
+ if members or freeform_tags or defined_tags:
2773
+ if not click.confirm("WARNING: Updates to members and freeform-tags and defined-tags will replace any existing values. Are you sure you want to continue?"):
2774
+ ctx.abort()
2775
+
2776
+ kwargs = {}
2777
+ if if_match is not None:
2778
+ kwargs['if_match'] = if_match
2779
+ kwargs['opc_request_id'] = cli_util.use_or_generate_request_id(ctx.obj['request_id'])
2780
+
2781
+ _details = {}
2782
+
2783
+ if display_name is not None:
2784
+ _details['displayName'] = display_name
2785
+
2786
+ if members is not None:
2787
+ _details['members'] = cli_util.parse_json_parameter("members", members)
2788
+
2789
+ if default_switchover_dr_plan_id is not None:
2790
+ _details['defaultSwitchoverDrPlanId'] = default_switchover_dr_plan_id
2791
+
2792
+ if default_failover_dr_plan_id is not None:
2793
+ _details['defaultFailoverDrPlanId'] = default_failover_dr_plan_id
2794
+
2795
+ if freeform_tags is not None:
2796
+ _details['freeformTags'] = cli_util.parse_json_parameter("freeform_tags", freeform_tags)
2797
+
2798
+ if defined_tags is not None:
2799
+ _details['definedTags'] = cli_util.parse_json_parameter("defined_tags", defined_tags)
2800
+
2801
+ client = cli_util.build_client('disaster_recovery', 'disaster_recovery', ctx)
2802
+ result = client.update_automatic_dr_configuration(
2803
+ automatic_dr_configuration_id=automatic_dr_configuration_id,
2804
+ update_automatic_dr_configuration_details=_details,
2805
+ **kwargs
2806
+ )
2807
+ if wait_for_state:
2808
+
2809
+ if hasattr(client, 'get_work_request') and callable(getattr(client, 'get_work_request')):
2810
+ try:
2811
+ wait_period_kwargs = {}
2812
+ if max_wait_seconds is not None:
2813
+ wait_period_kwargs['max_wait_seconds'] = max_wait_seconds
2814
+ if wait_interval_seconds is not None:
2815
+ wait_period_kwargs['max_interval_seconds'] = wait_interval_seconds
2816
+ if 'opc-work-request-id' not in result.headers:
2817
+ click.echo('Encountered error while waiting for work request to enter the specified state. Outputting last known resource state')
2818
+ cli_util.render_response(result, ctx)
2819
+ return
2820
+
2821
+ click.echo('Action completed. Waiting until the work request has entered state: {}'.format(wait_for_state), file=sys.stderr)
2822
+ result = oci.wait_until(client, client.get_work_request(result.headers['opc-work-request-id']), 'status', wait_for_state, **wait_period_kwargs)
2823
+ except oci.exceptions.MaximumWaitTimeExceeded as e:
2824
+ # If we fail, we should show an error, but we should still provide the information to the customer
2825
+ click.echo('Failed to wait until the work request entered the specified state. Outputting last known resource state', file=sys.stderr)
2826
+ cli_util.render_response(result, ctx)
2827
+ sys.exit(2)
2828
+ except Exception:
2829
+ click.echo('Encountered error while waiting for work request to enter the specified state. Outputting last known resource state', file=sys.stderr)
2830
+ cli_util.render_response(result, ctx)
2831
+ raise
2832
+ else:
2833
+ click.echo('Unable to wait for the work request to enter the specified state', file=sys.stderr)
2834
+ cli_util.render_response(result, ctx)
2835
+
2836
+
2473
2837
  @dr_plan_group.command(name=cli_util.override('disaster_recovery.update_dr_plan.command_name', 'update'), help=u"""Update the DR plan identified by *drPlanId*. \n[Command Reference](updateDrPlan)""")
2474
2838
  @cli_util.option('--dr-plan-id', required=True, help=u"""The OCID of the DR plan.
2475
2839
 
@@ -2564,7 +2928,7 @@ def update_dr_plan(ctx, from_json, force, wait_for_state, max_wait_seconds, wait
2564
2928
  @cli_util.option('--dr-plan-execution-id', required=True, help=u"""The OCID of the DR plan execution.
2565
2929
 
2566
2930
  Example: `ocid1.drplanexecution.oc1..uniqueID`""")
2567
- @cli_util.option('--display-name', help=u"""The display name of the DR protection group to update.
2931
+ @cli_util.option('--display-name', help=u"""The display name of the DR plan execution to update.
2568
2932
 
2569
2933
  Example: `EBS IAD Group`""")
2570
2934
  @cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only.
@@ -165,6 +165,67 @@ def change_distributed_autonomous_database_compartment(ctx, from_json, wait_for_
165
165
  cli_util.render_response(result, ctx)
166
166
 
167
167
 
168
+ @distributed_autonomous_database_group.command(name=cli_util.override('distributed_autonomous_db_service.change_distributed_autonomous_db_backup_config.command_name', 'change-distributed-autonomous-db-backup-config'), help=u"""Change the DbBackupConfig for the Globally distributed autonomous database. \n[Command Reference](changeDistributedAutonomousDbBackupConfig)""")
169
+ @cli_util.option('--distributed-autonomous-database-id', required=True, help=u"""Globally distributed autonomous database identifier""")
170
+ @cli_util.option('--db-backup-config', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
171
+ @cli_util.option('--if-match', help=u"""For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match` parameter to the value of the etag from a previous GET or POST response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value.""")
172
+ @cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "NEEDS_ATTENTION"]), multiple=True, help="""This operation asynchronously creates, modifies or deletes a resource and uses a work request to track the progress of the operation. Specify this option to perform the action and then wait until the work request reaches a certain state. Multiple states can be specified, returning on the first state. For example, --wait-for-state SUCCEEDED --wait-for-state FAILED would return on whichever lifecycle state is reached first. If timeout is reached, a return code of 2 is returned. For any other error, a return code of 1 is returned.""")
173
+ @cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the work request to reach the state defined by --wait-for-state. Defaults to 1200 seconds.""")
174
+ @cli_util.option('--wait-interval-seconds', type=click.INT, help="""Check every --wait-interval-seconds to see whether the work request has reached the state defined by --wait-for-state. Defaults to 30 seconds.""")
175
+ @json_skeleton_utils.get_cli_json_input_option({'db-backup-config': {'module': 'distributed_database', 'class': 'DistributedAutonomousDbBackupConfig'}})
176
+ @cli_util.help_option
177
+ @click.pass_context
178
+ @json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'db-backup-config': {'module': 'distributed_database', 'class': 'DistributedAutonomousDbBackupConfig'}})
179
+ @cli_util.wrap_exceptions
180
+ def change_distributed_autonomous_db_backup_config(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_seconds, distributed_autonomous_database_id, db_backup_config, if_match):
181
+
182
+ if isinstance(distributed_autonomous_database_id, six.string_types) and len(distributed_autonomous_database_id.strip()) == 0:
183
+ raise click.UsageError('Parameter --distributed-autonomous-database-id cannot be whitespace or empty string')
184
+
185
+ kwargs = {}
186
+ if if_match is not None:
187
+ kwargs['if_match'] = if_match
188
+ kwargs['opc_request_id'] = cli_util.use_or_generate_request_id(ctx.obj['request_id'])
189
+
190
+ _details = {}
191
+ _details['dbBackupConfig'] = cli_util.parse_json_parameter("db_backup_config", db_backup_config)
192
+
193
+ client = cli_util.build_client('distributed_database', 'distributed_autonomous_db_service', ctx)
194
+ result = client.change_distributed_autonomous_db_backup_config(
195
+ distributed_autonomous_database_id=distributed_autonomous_database_id,
196
+ change_distributed_autonomous_db_backup_config_details=_details,
197
+ **kwargs
198
+ )
199
+ if wait_for_state:
200
+
201
+ if hasattr(client, 'get_work_request') and callable(getattr(client, 'get_work_request')):
202
+ try:
203
+ wait_period_kwargs = {}
204
+ if max_wait_seconds is not None:
205
+ wait_period_kwargs['max_wait_seconds'] = max_wait_seconds
206
+ if wait_interval_seconds is not None:
207
+ wait_period_kwargs['max_interval_seconds'] = wait_interval_seconds
208
+ if 'opc-work-request-id' not in result.headers:
209
+ click.echo('Encountered error while waiting for work request to enter the specified state. Outputting last known resource state')
210
+ cli_util.render_response(result, ctx)
211
+ return
212
+
213
+ click.echo('Action completed. Waiting until the work request has entered state: {}'.format(wait_for_state), file=sys.stderr)
214
+ result = oci.wait_until(client, client.get_work_request(result.headers['opc-work-request-id']), 'status', wait_for_state, **wait_period_kwargs)
215
+ except oci.exceptions.MaximumWaitTimeExceeded as e:
216
+ # If we fail, we should show an error, but we should still provide the information to the customer
217
+ click.echo('Failed to wait until the work request entered the specified state. Outputting last known resource state', file=sys.stderr)
218
+ cli_util.render_response(result, ctx)
219
+ sys.exit(2)
220
+ except Exception:
221
+ click.echo('Encountered error while waiting for work request to enter the specified state. Outputting last known resource state', file=sys.stderr)
222
+ cli_util.render_response(result, ctx)
223
+ raise
224
+ else:
225
+ click.echo('Unable to wait for the work request to enter the specified state', file=sys.stderr)
226
+ cli_util.render_response(result, ctx)
227
+
228
+
168
229
  @distributed_autonomous_database_group.command(name=cli_util.override('distributed_autonomous_db_service.configure_distributed_autonomous_database_gsms.command_name', 'configure-distributed-autonomous-database-gsms'), help=u"""Configure new Global Service Manager(GSM aka shard manager) instances for the Globally distributed autonomous database. \n[Command Reference](configureDistributedAutonomousDatabaseGsms)""")
169
230
  @cli_util.option('--old-gsm-names', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""Names of old global service manager(GSM) instances corresponding to which new GSM instances need to be configured.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
170
231
  @cli_util.option('--is-latest-gsm-image', required=True, type=click.BOOL, help=u"""Flag to indicate if new global service manager(GSM) instances shall use latest image or re-use image used by existing GSM instances.""")
@@ -293,31 +354,32 @@ def configure_distributed_autonomous_database_sharding(ctx, from_json, wait_for_
293
354
  @cli_util.option('--prefix', required=True, help=u"""Unique name prefix for the Globally distributed autonomous databases. Only alpha-numeric values are allowed. First character has to be a letter followed by any combination of letter and number.""")
294
355
  @cli_util.option('--private-endpoint-ids', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The collection of [OCID] of the private endpoint associated with Globally distributed autonomous database.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
295
356
  @cli_util.option('--sharding-method', required=True, type=custom_types.CliCaseInsensitiveChoice(["USER", "SYSTEM"]), help=u"""Sharding Methods for the Globally distributed autonomous database.""")
296
- @cli_util.option('--db-workload', required=True, type=custom_types.CliCaseInsensitiveChoice(["OLTP", "DW"]), help=u"""Possible workload types.""")
357
+ @cli_util.option('--db-workload', required=True, type=custom_types.CliCaseInsensitiveChoice(["OLTP", "DW"]), help=u"""Possible workload types. Currently only OLTP workload type is supported.""")
297
358
  @cli_util.option('--character-set', required=True, help=u"""The character set for the database.""")
298
359
  @cli_util.option('--ncharacter-set', required=True, help=u"""The national character set for the database.""")
299
- @cli_util.option('--listener-port', required=True, type=click.INT, help=u"""The listener port number for the Globally distributed autonomous database.""")
300
- @cli_util.option('--ons-port-local', required=True, type=click.INT, help=u"""Ons local port number.""")
301
- @cli_util.option('--ons-port-remote', required=True, type=click.INT, help=u"""Ons remote port number.""")
360
+ @cli_util.option('--listener-port', required=True, type=click.INT, help=u"""The listener port number for the Globally distributed autonomous database. The listener port number has to be unique for a customer tenancy across all distributed autonomous databases. Same port number should not be re-used for any other distributed autonomous database.""")
361
+ @cli_util.option('--ons-port-local', required=True, type=click.INT, help=u"""Ons local port number for Globally distributed autonomous database. The onsPortLocal has to be unique for a customer tenancy across all distributed autonomous databases. Same port number should not be re-used for any other distributed autonomous database.""")
362
+ @cli_util.option('--ons-port-remote', required=True, type=click.INT, help=u"""Ons remote port number for Globally distributed autonomous database. The onsPortRemote has to be unique for a customer tenancy across all distributed autonomous databases. Same port number should not be re-used for any other distributed autonomous database.""")
302
363
  @cli_util.option('--db-deployment-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["ADB_D"]), help=u"""The distributed autonomous database deployment type.""")
303
364
  @cli_util.option('--shard-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""Collection of shards for the Globally distributed autonomous database.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
304
365
  @cli_util.option('--catalog-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""Collection of catalog for the Globally distributed autonomous database.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
305
- @cli_util.option('--chunks', type=click.INT, help=u"""The default number of unique chunks in a shardspace. The value of chunks must be greater than 2 times the size of the largest shardgroup in any shardspace.""")
306
- @cli_util.option('--listener-port-tls', type=click.INT, help=u"""The TLS listener port number for Globally distributed autonomous database.""")
307
- @cli_util.option('--replication-method', type=custom_types.CliCaseInsensitiveChoice(["RAFT", "DG"]), help=u"""The Replication method for Globally distributed autonomous database. Use RAFT for Raft replication, and DG for DataGuard. If replicationMethod is not provided, it defaults to DG.""")
366
+ @cli_util.option('--chunks', type=click.INT, help=u"""Number of chunks in a shardspace. The value of chunks must be greater than 2 times the size of the largest shardgroup in any shardspace. Chunks is required to be provided for distributed autonomous databases being created with SYSTEM shardingMethod. For USER shardingMethod, chunks should not be set in create payload.""")
367
+ @cli_util.option('--listener-port-tls', type=click.INT, help=u"""The TLS listener port number for Globally distributed autonomous database. The TLS listener port number has to be unique for a customer tenancy across all distributed autonomous databases. Same port number should not be re-used for any other distributed autonomous database. The listenerPortTls is mandatory for dedicated infrastructure based distributed autonomous databases.""")
368
+ @cli_util.option('--replication-method', type=custom_types.CliCaseInsensitiveChoice(["RAFT", "DG"]), help=u"""The Replication method for Globally distributed autonomous database. Use RAFT for Raft based replication. With RAFT replication, shards cannot have peers details set on them. In case shards need to have peers, please do not set RAFT replicationMethod. For all non RAFT replication cases (with or without peers), please set replicationMethod as DG or do not set any value for replicationMethod.""")
308
369
  @cli_util.option('--replication-factor', type=click.INT, help=u"""The Replication factor for RAFT replication based Globally distributed autonomous database. Currently supported values are 3, 5 and 7.""")
309
- @cli_util.option('--replication-unit', type=click.INT, help=u"""For RAFT replication based Globally distributed autonomous database, the value should be atleast twice the number of shards.""")
370
+ @cli_util.option('--replication-unit', type=click.INT, help=u"""The replication unit count for RAFT based distributed autonomous database. For RAFT replication based Globally distributed autonomous database, the value should be at least twice the number of shards.""")
371
+ @cli_util.option('--db-backup-config', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
310
372
  @cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
311
373
  @cli_util.option('--defined-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
312
374
  @cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "NEEDS_ATTENTION"]), multiple=True, help="""This operation asynchronously creates, modifies or deletes a resource and uses a work request to track the progress of the operation. Specify this option to perform the action and then wait until the work request reaches a certain state. Multiple states can be specified, returning on the first state. For example, --wait-for-state SUCCEEDED --wait-for-state FAILED would return on whichever lifecycle state is reached first. If timeout is reached, a return code of 2 is returned. For any other error, a return code of 1 is returned.""")
313
375
  @cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the work request to reach the state defined by --wait-for-state. Defaults to 1200 seconds.""")
314
376
  @cli_util.option('--wait-interval-seconds', type=click.INT, help="""Check every --wait-interval-seconds to see whether the work request has reached the state defined by --wait-for-state. Defaults to 30 seconds.""")
315
- @json_skeleton_utils.get_cli_json_input_option({'private-endpoint-ids': {'module': 'distributed_database', 'class': 'list[string]'}, 'shard-details': {'module': 'distributed_database', 'class': 'list[CreateDistributedAutonomousDatabaseShardDetails]'}, 'catalog-details': {'module': 'distributed_database', 'class': 'list[CreateDistributedAutonomousDatabaseCatalogDetails]'}, 'freeform-tags': {'module': 'distributed_database', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'distributed_database', 'class': 'dict(str, dict(str, object))'}})
377
+ @json_skeleton_utils.get_cli_json_input_option({'private-endpoint-ids': {'module': 'distributed_database', 'class': 'list[string]'}, 'shard-details': {'module': 'distributed_database', 'class': 'list[CreateDistributedAutonomousDatabaseShardDetails]'}, 'catalog-details': {'module': 'distributed_database', 'class': 'list[CreateDistributedAutonomousDatabaseCatalogDetails]'}, 'db-backup-config': {'module': 'distributed_database', 'class': 'DistributedAutonomousDbBackupConfig'}, 'freeform-tags': {'module': 'distributed_database', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'distributed_database', 'class': 'dict(str, dict(str, object))'}})
316
378
  @cli_util.help_option
317
379
  @click.pass_context
318
- @json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'private-endpoint-ids': {'module': 'distributed_database', 'class': 'list[string]'}, 'shard-details': {'module': 'distributed_database', 'class': 'list[CreateDistributedAutonomousDatabaseShardDetails]'}, 'catalog-details': {'module': 'distributed_database', 'class': 'list[CreateDistributedAutonomousDatabaseCatalogDetails]'}, 'freeform-tags': {'module': 'distributed_database', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'distributed_database', 'class': 'dict(str, dict(str, object))'}}, output_type={'module': 'distributed_database', 'class': 'DistributedAutonomousDatabase'})
380
+ @json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'private-endpoint-ids': {'module': 'distributed_database', 'class': 'list[string]'}, 'shard-details': {'module': 'distributed_database', 'class': 'list[CreateDistributedAutonomousDatabaseShardDetails]'}, 'catalog-details': {'module': 'distributed_database', 'class': 'list[CreateDistributedAutonomousDatabaseCatalogDetails]'}, 'db-backup-config': {'module': 'distributed_database', 'class': 'DistributedAutonomousDbBackupConfig'}, 'freeform-tags': {'module': 'distributed_database', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'distributed_database', 'class': 'dict(str, dict(str, object))'}}, output_type={'module': 'distributed_database', 'class': 'DistributedAutonomousDatabase'})
319
381
  @cli_util.wrap_exceptions
320
- def create_distributed_autonomous_database(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_seconds, compartment_id, display_name, database_version, prefix, private_endpoint_ids, sharding_method, db_workload, character_set, ncharacter_set, listener_port, ons_port_local, ons_port_remote, db_deployment_type, shard_details, catalog_details, chunks, listener_port_tls, replication_method, replication_factor, replication_unit, freeform_tags, defined_tags):
382
+ def create_distributed_autonomous_database(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_seconds, compartment_id, display_name, database_version, prefix, private_endpoint_ids, sharding_method, db_workload, character_set, ncharacter_set, listener_port, ons_port_local, ons_port_remote, db_deployment_type, shard_details, catalog_details, chunks, listener_port_tls, replication_method, replication_factor, replication_unit, db_backup_config, freeform_tags, defined_tags):
321
383
 
322
384
  kwargs = {}
323
385
  kwargs['opc_request_id'] = cli_util.use_or_generate_request_id(ctx.obj['request_id'])
@@ -354,6 +416,9 @@ def create_distributed_autonomous_database(ctx, from_json, wait_for_state, max_w
354
416
  if replication_unit is not None:
355
417
  _details['replicationUnit'] = replication_unit
356
418
 
419
+ if db_backup_config is not None:
420
+ _details['dbBackupConfig'] = cli_util.parse_json_parameter("db_backup_config", db_backup_config)
421
+
357
422
  if freeform_tags is not None:
358
423
  _details['freeformTags'] = cli_util.parse_json_parameter("freeform_tags", freeform_tags)
359
424
 
@@ -769,7 +834,7 @@ def patch_distributed_autonomous_database(ctx, from_json, wait_for_state, max_wa
769
834
  cli_util.render_response(result, ctx)
770
835
 
771
836
 
772
- @distributed_autonomous_database_group.command(name=cli_util.override('distributed_autonomous_db_service.rotate_distributed_autonomous_database_passwords.command_name', 'rotate-distributed-autonomous-database-passwords'), help=u"""Rotate passwords for different components of the Globally distributed autonomous database. \n[Command Reference](rotateDistributedAutonomousDatabasePasswords)""")
837
+ @distributed_autonomous_database_group.command(name=cli_util.override('distributed_autonomous_db_service.rotate_distributed_autonomous_database_passwords.command_name', 'rotate-distributed-autonomous-database-passwords'), help=u"""Rotate the gsmuser and gsmcatuser passwords for shards and catalog of the Globally distributed autonomous database. This operation will also remove GdsCtlNodes if present. \n[Command Reference](rotateDistributedAutonomousDatabasePasswords)""")
773
838
  @cli_util.option('--distributed-autonomous-database-id', required=True, help=u"""Globally distributed autonomous database identifier""")
774
839
  @cli_util.option('--if-match', help=u"""For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match` parameter to the value of the etag from a previous GET or POST response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value.""")
775
840
  @cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "NEEDS_ATTENTION"]), multiple=True, help="""This operation asynchronously creates, modifies or deletes a resource and uses a work request to track the progress of the operation. Specify this option to perform the action and then wait until the work request reaches a certain state. Multiple states can be specified, returning on the first state. For example, --wait-for-state SUCCEEDED --wait-for-state FAILED would return on whichever lifecycle state is reached first. If timeout is reached, a return code of 2 is returned. For any other error, a return code of 1 is returned.""")