oci-cli 3.63.2__py3-none-any.whl → 3.64.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.
- oci_cli/bin/devops.psm1 +5 -1
- oci_cli/bin/multicloud.psm1 +53 -0
- oci_cli/bin/redis.psm1 +28 -3
- oci_cli/help_text_producer/data_files/text/cmdref/ai-vision/stream-group/change-compartment.txt +133 -0
- oci_cli/help_text_producer/data_files/text/cmdref/ai-vision/stream-group/create.txt +180 -0
- oci_cli/help_text_producer/data_files/text/cmdref/ai-vision/stream-group/delete.txt +131 -0
- oci_cli/help_text_producer/data_files/text/cmdref/ai-vision/stream-group/get.txt +93 -0
- oci_cli/help_text_producer/data_files/text/cmdref/ai-vision/stream-group/update.txt +194 -0
- oci_cli/help_text_producer/data_files/text/cmdref/ai-vision/stream-group-collection/list-stream-groups.txt +129 -0
- oci_cli/help_text_producer/data_files/text/cmdref/ai-vision/stream-group-collection.txt +14 -0
- oci_cli/help_text_producer/data_files/text/cmdref/ai-vision/stream-group.txt +22 -0
- oci_cli/help_text_producer/data_files/text/cmdref/ai-vision/stream-job/change-compartment.txt +142 -0
- oci_cli/help_text_producer/data_files/text/cmdref/ai-vision/stream-job/create-stream-job-object-storage-output-location.txt +187 -0
- oci_cli/help_text_producer/data_files/text/cmdref/ai-vision/stream-job/create.txt +184 -0
- oci_cli/help_text_producer/data_files/text/cmdref/ai-vision/stream-job/delete.txt +141 -0
- oci_cli/help_text_producer/data_files/text/cmdref/ai-vision/stream-job/get.txt +103 -0
- oci_cli/help_text_producer/data_files/text/cmdref/ai-vision/stream-job/start.txt +137 -0
- oci_cli/help_text_producer/data_files/text/cmdref/ai-vision/stream-job/stop.txt +137 -0
- oci_cli/help_text_producer/data_files/text/cmdref/ai-vision/stream-job/update-stream-job-object-storage-output-location.txt +206 -0
- oci_cli/help_text_producer/data_files/text/cmdref/ai-vision/stream-job/update.txt +202 -0
- oci_cli/help_text_producer/data_files/text/cmdref/ai-vision/stream-job-collection/list-stream-jobs.txt +137 -0
- oci_cli/help_text_producer/data_files/text/cmdref/ai-vision/stream-job-collection.txt +14 -0
- oci_cli/help_text_producer/data_files/text/cmdref/ai-vision/stream-job.txt +30 -0
- oci_cli/help_text_producer/data_files/text/cmdref/ai-vision/stream-source/change-compartment.txt +138 -0
- oci_cli/help_text_producer/data_files/text/cmdref/ai-vision/stream-source/create-stream-source-rtsp-source-details.txt +173 -0
- oci_cli/help_text_producer/data_files/text/cmdref/ai-vision/stream-source/create.txt +163 -0
- oci_cli/help_text_producer/data_files/text/cmdref/ai-vision/stream-source/delete.txt +136 -0
- oci_cli/help_text_producer/data_files/text/cmdref/ai-vision/stream-source/get.txt +98 -0
- oci_cli/help_text_producer/data_files/text/cmdref/ai-vision/stream-source/update-stream-source-rtsp-source-details.txt +189 -0
- oci_cli/help_text_producer/data_files/text/cmdref/ai-vision/stream-source/update.txt +177 -0
- oci_cli/help_text_producer/data_files/text/cmdref/ai-vision/stream-source-collection/list-stream-sources.txt +137 -0
- oci_cli/help_text_producer/data_files/text/cmdref/ai-vision/stream-source-collection.txt +14 -0
- oci_cli/help_text_producer/data_files/text/cmdref/ai-vision/stream-source.txt +26 -0
- oci_cli/help_text_producer/data_files/text/cmdref/ai-vision/vision-private-endpoint/change-compartment.txt +108 -0
- oci_cli/help_text_producer/data_files/text/cmdref/ai-vision/vision-private-endpoint/create.txt +157 -0
- oci_cli/help_text_producer/data_files/text/cmdref/ai-vision/vision-private-endpoint/delete.txt +132 -0
- oci_cli/help_text_producer/data_files/text/cmdref/ai-vision/vision-private-endpoint/get.txt +94 -0
- oci_cli/help_text_producer/data_files/text/cmdref/ai-vision/vision-private-endpoint/update.txt +167 -0
- oci_cli/help_text_producer/data_files/text/cmdref/ai-vision/vision-private-endpoint-collection/list-vision-private-endpoints.txt +137 -0
- oci_cli/help_text_producer/data_files/text/cmdref/ai-vision/vision-private-endpoint-collection.txt +14 -0
- oci_cli/help_text_producer/data_files/text/cmdref/ai-vision/vision-private-endpoint.txt +22 -0
- oci_cli/help_text_producer/data_files/text/cmdref/ai-vision.txt +76 -0
- oci_cli/help_text_producer/data_files/text/cmdref/compute/{compute-gpu-memory-cluster-collection/list-compute-gpu-memory-clusters.txt → compute-gpu-memory-cluster/list.txt} +5 -5
- oci_cli/help_text_producer/data_files/text/cmdref/compute/compute-gpu-memory-cluster.txt +2 -0
- oci_cli/help_text_producer/data_files/text/cmdref/compute/instance/launch-instance-compute-bare-metal-host-placement-constraint-details.txt +0 -5
- oci_cli/help_text_producer/data_files/text/cmdref/compute/instance/launch-instance-host-group-placement-constraint-details.txt +0 -5
- oci_cli/help_text_producer/data_files/text/cmdref/compute/instance/launch.txt +0 -5
- oci_cli/help_text_producer/data_files/text/cmdref/compute/instance/terminate.txt +11 -0
- oci_cli/help_text_producer/data_files/text/cmdref/compute.txt +2 -4
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/alert-summary/list-alert-analytics.txt +2 -2
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/alert-summary/list-alerts.txt +2 -2
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/attribute-set/change-compartment.txt +140 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/attribute-set/create.txt +182 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/attribute-set/delete.txt +138 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/attribute-set/get.txt +108 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/attribute-set/list-associated-resources.txt +145 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/attribute-set/list.txt +211 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/attribute-set/update.txt +192 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/attribute-set.txt +28 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/audit-archive-retrieval/list.txt +5 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/audit-event-summary/list-audit-event-analytics.txt +11 -10
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/audit-event-summary/list-audit-events.txt +9 -8
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/audit-policy-analytics/list.txt +5 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/audit-policy-collection/list-audit-policies.txt +5 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/audit-profile/calculate-audit-volume-available.txt +5 -1
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/audit-profile/calculate-audit-volume-collected.txt +5 -1
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/audit-profile/change-compartment.txt +5 -2
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/audit-profile/change-retention.txt +14 -10
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/audit-profile/create.txt +205 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/audit-profile/delete.txt +135 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/audit-profile/discover-audit-trails.txt +5 -1
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/audit-profile/get.txt +5 -1
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/audit-profile/list-available-audit-volumes.txt +5 -1
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/audit-profile/list-collected-audit-volumes.txt +5 -1
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/audit-profile/list-target-overrides.txt +143 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/audit-profile/list.txt +14 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/audit-profile/update.txt +14 -1
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/audit-profile-analytic-collection/list-audit-profile-analytics.txt +10 -1
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/audit-profile.txt +6 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/audit-trail/list.txt +5 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/audit-trail/start.txt +6 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/audit-trail/update.txt +6 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/audit-trail-analytic-collection/list-audit-trail-analytics.txt +187 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/database-security-config/list.txt +5 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/database-table-access-entry-collection/list-database-table-access-entries.txt +1 -1
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/database-view-access-entry-collection/list-database-view-access-entries.txt +1 -1
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/masking-column/list.txt +1 -1
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/masking-policy/list-masking-analytics.txt +28 -1
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/masking-policy-referential-relation-summary/list-masking-policy-referential-relations.txt +1 -1
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/on-prem-connector/list.txt +9 -9
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/peer-target-database/create-peer-target-database-database-cloud-service-details.txt +10 -6
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/peer-target-database/update-peer-target-database-database-cloud-service-details.txt +10 -6
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/report-definition/generate-report.txt +13 -2
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/report-summary/list-reports.txt +9 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/security-assessment/apply-security-assessment-template.txt +134 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/security-assessment/compare-to-template-baseline.txt +135 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/security-assessment/create.txt +33 -2
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/security-assessment/download-security-assessment-report.txt +2 -2
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/security-assessment/generate-security-assessment-report.txt +2 -2
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/security-assessment/get-template-baseline-comparison.txt +112 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/security-assessment/list-checks.txt +186 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/security-assessment/list-finding-analytics.txt +35 -1
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/security-assessment/list-findings.txt +33 -2
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/security-assessment/list-security-feature-analytics.txt +5 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/security-assessment/list-security-features.txt +5 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/security-assessment/list-template-analytics.txt +188 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/security-assessment/list-template-association-analytics.txt +174 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/security-assessment/list.txt +21 -3
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/security-assessment/patch-checks.txt +145 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/security-assessment/patch-findings.txt +145 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/security-assessment/remove.txt +129 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/security-assessment.txt +18 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/security-policy/change-compartment.txt +3 -2
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/security-policy/create.txt +159 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/security-policy/delete.txt +131 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/security-policy/get.txt +3 -1
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/security-policy/list.txt +8 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/security-policy/update.txt +3 -1
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/security-policy-config/change-compartment.txt +135 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/security-policy-config/create.txt +189 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/security-policy-config/delete.txt +133 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/security-policy-config/get.txt +95 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/security-policy-config/update.txt +197 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/security-policy-config-collection/list-security-policy-configs.txt +375 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/security-policy-config-collection.txt +14 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/security-policy-config.txt +23 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/security-policy-deployment/change-compartment.txt +7 -2
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/security-policy-deployment/create.txt +179 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/security-policy-deployment/delete.txt +135 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/security-policy-deployment/deploy.txt +131 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/security-policy-deployment/get.txt +7 -1
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/security-policy-deployment/list.txt +10 -1
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/security-policy-deployment/refresh.txt +132 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/security-policy-deployment/update.txt +7 -1
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/security-policy-deployment.txt +8 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/security-policy-entry-state/get.txt +7 -1
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/security-policy-entry-state/list.txt +21 -2
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/security-policy.txt +4 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/sensitive-data-model/list-discovery-analytics.txt +27 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/sensitive-data-model/list-sensitive-column-analytics.txt +5 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/sql-collection/list.txt +5 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/sql-collection-analytics/list.txt +5 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/sql-firewall-allowed-sql/list.txt +1 -1
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/sql-firewall-allowed-sql-analytics/list.txt +1 -1
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/sql-firewall-violation-summary/list-sql-firewall-violation-analytics.txt +2 -2
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/sql-firewall-violation-summary/list-sql-firewall-violations.txt +2 -2
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/target-database-group/change-compartment.txt +138 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/target-database-group/create.txt +175 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/target-database-group/delete.txt +137 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/target-database-group/get-group-members.txt +118 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/target-database-group/get.txt +99 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/target-database-group/update.txt +189 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/target-database-group-summary/list-target-database-groups.txt +365 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/target-database-group-summary.txt +15 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/target-database-group.txt +25 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/unified-audit-policy/bulk-create.txt +164 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/unified-audit-policy/change-compartment.txt +142 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/unified-audit-policy/create.txt +195 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/unified-audit-policy/delete.txt +140 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/unified-audit-policy/get.txt +102 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/unified-audit-policy/update.txt +202 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/unified-audit-policy-collection/list-unified-audit-policies.txt +385 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/unified-audit-policy-collection.txt +14 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/unified-audit-policy-definition/change-compartment.txt +132 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/unified-audit-policy-definition/delete.txt +129 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/unified-audit-policy-definition/get.txt +92 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/unified-audit-policy-definition/update.txt +171 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/unified-audit-policy-definition-collection/list-unified-audit-policy-definitions.txt +205 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/unified-audit-policy-definition-collection.txt +14 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/unified-audit-policy-definition.txt +20 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/unified-audit-policy.txt +25 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/user-assessment/create.txt +13 -2
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe/user-assessment/list.txt +14 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-safe.txt +118 -0
- oci_cli/help_text_producer/data_files/text/cmdref/data-science/job/change-compartment.txt +1 -7
- oci_cli/help_text_producer/data_files/text/cmdref/data-science/job/create-job-artifact.txt +1 -7
- oci_cli/help_text_producer/data_files/text/cmdref/data-science/job/create.txt +29 -24
- oci_cli/help_text_producer/data_files/text/cmdref/data-science/job/delete.txt +1 -7
- oci_cli/help_text_producer/data_files/text/cmdref/data-science/job/get-artifact-content.txt +2 -7
- oci_cli/help_text_producer/data_files/text/cmdref/data-science/job/get.txt +1 -7
- oci_cli/help_text_producer/data_files/text/cmdref/data-science/job/head-job-artifact.txt +1 -7
- oci_cli/help_text_producer/data_files/text/cmdref/data-science/job/update.txt +1 -7
- oci_cli/help_text_producer/data_files/text/cmdref/data-science/job-run/cancel.txt +1 -7
- oci_cli/help_text_producer/data_files/text/cmdref/data-science/job-run/change-compartment.txt +1 -7
- oci_cli/help_text_producer/data_files/text/cmdref/data-science/job-run/create.txt +23 -7
- oci_cli/help_text_producer/data_files/text/cmdref/data-science/job-run/delete.txt +1 -7
- oci_cli/help_text_producer/data_files/text/cmdref/data-science/job-run/get.txt +1 -7
- oci_cli/help_text_producer/data_files/text/cmdref/data-science/job-run/update.txt +1 -7
- oci_cli/help_text_producer/data_files/text/cmdref/data-science/pipeline-run/create.txt +11 -0
- oci_cli/help_text_producer/data_files/text/cmdref/db/database/create-standby-database.txt +114 -1
- oci_cli/help_text_producer/data_files/text/cmdref/delegate-access-control/work-request/work-request-error/{list-errors.txt → list.txt} +5 -5
- oci_cli/help_text_producer/data_files/text/cmdref/delegate-access-control/work-request/work-request-error.txt +1 -1
- oci_cli/help_text_producer/data_files/text/cmdref/delegate-access-control/work-request.txt +1 -1
- oci_cli/help_text_producer/data_files/text/cmdref/delegate-access-control.txt +1 -1
- oci_cli/help_text_producer/data_files/text/cmdref/devops/protected-branch/create-or-update.txt +1 -1
- oci_cli/help_text_producer/data_files/text/cmdref/devops/protected-branch/delete.txt +1 -1
- oci_cli/help_text_producer/data_files/text/cmdref/devops/pull-request/reopen-pull-request-comment.txt +119 -0
- oci_cli/help_text_producer/data_files/text/cmdref/devops/pull-request/resolve-pull-request-comment.txt +119 -0
- oci_cli/help_text_producer/data_files/text/cmdref/devops/pull-request.txt +4 -0
- oci_cli/help_text_producer/data_files/text/cmdref/devops.txt +4 -0
- oci_cli/help_text_producer/data_files/text/cmdref/email-data-plane/email-raw-submitted-response/submit-raw-email.txt +128 -0
- oci_cli/help_text_producer/data_files/text/cmdref/email-data-plane/email-raw-submitted-response.txt +15 -0
- oci_cli/help_text_producer/data_files/text/cmdref/email-data-plane.txt +4 -0
- oci_cli/help_text_producer/data_files/text/cmdref/goldengate/connection/create-amazon-kinesis-connection.txt +9 -0
- oci_cli/help_text_producer/data_files/text/cmdref/goldengate/connection/create-amazon-s3-connection.txt +4 -3
- oci_cli/help_text_producer/data_files/text/cmdref/goldengate/connection/create-azure-data-lake-storage-connection.txt +9 -0
- oci_cli/help_text_producer/data_files/text/cmdref/goldengate/connection/create-db2-connection.txt +20 -8
- oci_cli/help_text_producer/data_files/text/cmdref/goldengate/connection/create-google-pub-sub-connection.txt +8 -9
- oci_cli/help_text_producer/data_files/text/cmdref/goldengate/connection/create-jms-connection.txt +1 -1
- oci_cli/help_text_producer/data_files/text/cmdref/goldengate/connection/create-object-storage-connection.txt +2 -2
- oci_cli/help_text_producer/data_files/text/cmdref/goldengate/connection/create-oracle-nosql-connection.txt +2 -2
- oci_cli/help_text_producer/data_files/text/cmdref/goldengate/connection/update-amazon-kinesis-connection.txt +9 -0
- oci_cli/help_text_producer/data_files/text/cmdref/goldengate/connection/update-amazon-s3-connection.txt +4 -3
- oci_cli/help_text_producer/data_files/text/cmdref/goldengate/connection/update-azure-data-lake-storage-connection.txt +9 -0
- oci_cli/help_text_producer/data_files/text/cmdref/goldengate/connection/update-db2-connection.txt +20 -8
- oci_cli/help_text_producer/data_files/text/cmdref/goldengate/connection/update-jms-connection.txt +1 -1
- oci_cli/help_text_producer/data_files/text/cmdref/goldengate/connection/update-object-storage-connection.txt +2 -2
- oci_cli/help_text_producer/data_files/text/cmdref/goldengate/connection/update-oracle-nosql-connection.txt +2 -2
- oci_cli/help_text_producer/data_files/text/cmdref/governance-rules-control-plane/work-request/work-request-error/{list-errors.txt → list.txt} +5 -5
- oci_cli/help_text_producer/data_files/text/cmdref/governance-rules-control-plane/work-request/work-request-error.txt +1 -1
- 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
- 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
- oci_cli/help_text_producer/data_files/text/cmdref/governance-rules-control-plane/work-request.txt +3 -3
- oci_cli/help_text_producer/data_files/text/cmdref/governance-rules-control-plane.txt +3 -3
- oci_cli/help_text_producer/data_files/text/cmdref/multicloud/metadata/external-location-mapping-metadatum-summary-collection/list-external-location-mapping-metadata.txt +167 -0
- oci_cli/help_text_producer/data_files/text/cmdref/multicloud/metadata/external-location-mapping-metadatum-summary-collection.txt +14 -0
- oci_cli/help_text_producer/data_files/text/cmdref/multicloud/metadata/external-location-summaries-metadatum-summary-collection/list-external-location-summaries-metadata.txt +162 -0
- oci_cli/help_text_producer/data_files/text/cmdref/multicloud/metadata/external-location-summaries-metadatum-summary-collection.txt +15 -0
- oci_cli/help_text_producer/data_files/text/cmdref/multicloud/metadata/external-locations-metadatum-collection/list-external-location-details-metadata.txt +216 -0
- oci_cli/help_text_producer/data_files/text/cmdref/multicloud/metadata/external-locations-metadatum-collection.txt +14 -0
- oci_cli/help_text_producer/data_files/text/cmdref/multicloud/metadata.txt +26 -0
- oci_cli/help_text_producer/data_files/text/cmdref/multicloud/multi-clouds-metadata/multi-cloud-metadata/get.txt +96 -0
- oci_cli/help_text_producer/data_files/text/cmdref/multicloud/multi-clouds-metadata/multi-cloud-metadata-collection/list-multi-cloud-metadata.txt +133 -0
- oci_cli/help_text_producer/data_files/text/cmdref/multicloud/multi-clouds-metadata/multi-cloud-metadata-collection.txt +14 -0
- oci_cli/help_text_producer/data_files/text/cmdref/multicloud/multi-clouds-metadata/multi-cloud-metadata.txt +15 -0
- oci_cli/help_text_producer/data_files/text/cmdref/multicloud/multi-clouds-metadata.txt +22 -0
- oci_cli/help_text_producer/data_files/text/cmdref/multicloud/omhub-network-anchor/network-anchor/get.txt +111 -0
- oci_cli/help_text_producer/data_files/text/cmdref/multicloud/omhub-network-anchor/network-anchor-collection/list-network-anchors.txt +180 -0
- oci_cli/help_text_producer/data_files/text/cmdref/multicloud/omhub-network-anchor/network-anchor-collection.txt +15 -0
- oci_cli/help_text_producer/data_files/text/cmdref/multicloud/omhub-network-anchor/network-anchor.txt +19 -0
- oci_cli/help_text_producer/data_files/text/cmdref/multicloud/omhub-network-anchor.txt +22 -0
- oci_cli/help_text_producer/data_files/text/cmdref/multicloud/omhub-resource-anchor/resource-anchor/get.txt +106 -0
- oci_cli/help_text_producer/data_files/text/cmdref/multicloud/omhub-resource-anchor/resource-anchor-collection/list-resource-anchors.txt +172 -0
- oci_cli/help_text_producer/data_files/text/cmdref/multicloud/omhub-resource-anchor/resource-anchor-collection.txt +15 -0
- oci_cli/help_text_producer/data_files/text/cmdref/multicloud/omhub-resource-anchor/resource-anchor.txt +19 -0
- oci_cli/help_text_producer/data_files/text/cmdref/multicloud/omhub-resource-anchor.txt +22 -0
- oci_cli/help_text_producer/data_files/text/cmdref/multicloud.txt +58 -0
- oci_cli/help_text_producer/data_files/text/cmdref/network/drg-route-distribution/create.txt +2 -2
- oci_cli/help_text_producer/data_files/text/cmdref/network/drg-route-distribution.txt +12 -10
- oci_cli/help_text_producer/data_files/text/cmdref/network/ip-sec-connection/create.txt +11 -16
- oci_cli/help_text_producer/data_files/text/cmdref/ocvs/work-request-error/{list-errors.txt → list.txt} +5 -5
- oci_cli/help_text_producer/data_files/text/cmdref/ocvs/work-request-error.txt +1 -1
- oci_cli/help_text_producer/data_files/text/cmdref/ocvs.txt +1 -1
- oci_cli/help_text_producer/data_files/text/cmdref/organizations/work-request-error/{list-errors.txt → list.txt} +5 -5
- oci_cli/help_text_producer/data_files/text/cmdref/organizations/work-request-error.txt +1 -1
- oci_cli/help_text_producer/data_files/text/cmdref/organizations/{work-request-log → work-request-log-entry}/list.txt +1 -19
- oci_cli/help_text_producer/data_files/text/cmdref/organizations/{work-request-log.txt → work-request-log-entry.txt} +2 -2
- oci_cli/help_text_producer/data_files/text/cmdref/organizations.txt +2 -2
- oci_cli/help_text_producer/data_files/text/cmdref/redis/oci-cache-config-set/associated-oci-cache-cluster-summary/list-associated-oci-cache-clusters.txt +139 -0
- oci_cli/help_text_producer/data_files/text/cmdref/redis/oci-cache-config-set/associated-oci-cache-cluster-summary.txt +14 -0
- oci_cli/help_text_producer/data_files/text/cmdref/redis/oci-cache-config-set/oci-cache-config-set/change-compartment.txt +139 -0
- oci_cli/help_text_producer/data_files/text/cmdref/redis/oci-cache-config-set/oci-cache-config-set/create.txt +175 -0
- oci_cli/help_text_producer/data_files/text/cmdref/redis/oci-cache-config-set/oci-cache-config-set/delete.txt +138 -0
- oci_cli/help_text_producer/data_files/text/cmdref/redis/oci-cache-config-set/oci-cache-config-set/get.txt +100 -0
- oci_cli/help_text_producer/data_files/text/cmdref/redis/oci-cache-config-set/oci-cache-config-set/update.txt +173 -0
- oci_cli/help_text_producer/data_files/text/cmdref/redis/oci-cache-config-set/oci-cache-config-set-summary/list-oci-cache-config-sets.txt +148 -0
- oci_cli/help_text_producer/data_files/text/cmdref/redis/oci-cache-config-set/oci-cache-config-set-summary.txt +14 -0
- oci_cli/help_text_producer/data_files/text/cmdref/redis/oci-cache-config-set/oci-cache-config-set.txt +23 -0
- oci_cli/help_text_producer/data_files/text/cmdref/redis/oci-cache-config-set.txt +33 -0
- oci_cli/help_text_producer/data_files/text/cmdref/redis/oci-cache-default-config-set/oci-cache-default-config-set/get.txt +96 -0
- oci_cli/help_text_producer/data_files/text/cmdref/redis/oci-cache-default-config-set/oci-cache-default-config-set-summary/list-oci-cache-default-config-sets.txt +156 -0
- oci_cli/help_text_producer/data_files/text/cmdref/redis/oci-cache-default-config-set/oci-cache-default-config-set-summary.txt +14 -0
- oci_cli/help_text_producer/data_files/text/cmdref/redis/oci-cache-default-config-set/oci-cache-default-config-set.txt +15 -0
- oci_cli/help_text_producer/data_files/text/cmdref/redis/oci-cache-default-config-set.txt +21 -0
- oci_cli/help_text_producer/data_files/text/cmdref/redis/redis-cluster/redis-cluster/create.txt +4 -0
- oci_cli/help_text_producer/data_files/text/cmdref/redis/redis-cluster/redis-cluster/update.txt +4 -0
- oci_cli/help_text_producer/data_files/text/cmdref/redis.txt +32 -0
- oci_cli/help_text_producer/data_files/text/cmdref/session/authenticate.txt +5 -4
- oci_cli/help_text_producer/data_files/text/cmdref/support/incident/create.txt +15 -12
- oci_cli/help_text_producer/data_files/text/cmdref/support/incident/get.txt +2 -2
- oci_cli/help_text_producer/data_files/text/cmdref/support/incident/list.txt +2 -2
- oci_cli/help_text_producer/data_files/text/cmdref/support/incident/put-attachment.txt +153 -0
- oci_cli/help_text_producer/data_files/text/cmdref/support/incident/update.txt +20 -14
- oci_cli/help_text_producer/data_files/text/cmdref/support/incident-resource-type/list.txt +2 -2
- oci_cli/help_text_producer/data_files/text/cmdref/support/incident.txt +3 -1
- oci_cli/help_text_producer/data_files/text/cmdref/support.txt +2 -0
- oci_cli/help_text_producer/data_files/text/index.txt +2 -0
- oci_cli/service_mapping.py +5 -0
- oci_cli/version.py +1 -1
- {oci_cli-3.63.2.dist-info → oci_cli-3.64.0.dist-info}/METADATA +2 -2
- {oci_cli-3.63.2.dist-info → oci_cli-3.64.0.dist-info}/RECORD +340 -169
- services/ai_vision/src/oci_cli_ai_service_vision/generated/aiservicevision_cli.py +2349 -448
- services/cims/src/oci_cli_incident/cims_cli_extended.py +70 -14
- services/cims/src/oci_cli_incident/generated/incident_cli.py +76 -15
- services/core/src/oci_cli_compute/generated/compute_cli.py +19 -79
- services/core/src/oci_cli_virtual_network/generated/virtualnetwork_cli.py +16 -14
- services/data_safe/src/oci_cli_data_safe/generated/datasafe_cli.py +3822 -391
- services/data_science/src/oci_cli_data_science/datascience_cli_extended.py +47 -6
- services/data_science/src/oci_cli_data_science/generated/datascience_cli.py +1351 -139
- services/database/src/oci_cli_database/database_cli_extended.py +16 -1
- services/devops/src/oci_cli_devops/generated/devops_cli.py +62 -2
- services/email_data_plane/src/oci_cli_email_dp/generated/emaildp_cli.py +41 -0
- services/golden_gate/src/oci_cli_golden_gate/generated/goldengate_cli.py +67 -25
- services/golden_gate/src/oci_cli_golden_gate/golden_gate_cli_extended.py +38 -4
- services/multicloud/__init__.py +4 -0
- services/multicloud/src/__init__.py +4 -0
- services/multicloud/src/oci_cli_metadata/__init__.py +4 -0
- services/multicloud/src/oci_cli_metadata/generated/__init__.py +4 -0
- services/multicloud/src/oci_cli_metadata/generated/client_mappings.py +14 -0
- services/multicloud/src/oci_cli_metadata/generated/metadata_cli.py +239 -0
- services/multicloud/src/oci_cli_multi_clouds_metadata/__init__.py +4 -0
- services/multicloud/src/oci_cli_multi_clouds_metadata/generated/__init__.py +4 -0
- services/multicloud/src/oci_cli_multi_clouds_metadata/generated/client_mappings.py +14 -0
- services/multicloud/src/oci_cli_multi_clouds_metadata/generated/multicloudsmetadata_cli.py +117 -0
- services/multicloud/src/oci_cli_multicloud/__init__.py +4 -0
- services/multicloud/src/oci_cli_multicloud/generated/__init__.py +4 -0
- services/multicloud/src/oci_cli_multicloud/generated/multicloud_service_cli.py +14 -0
- services/multicloud/src/oci_cli_omhub_network_anchor/__init__.py +4 -0
- services/multicloud/src/oci_cli_omhub_network_anchor/generated/__init__.py +4 -0
- services/multicloud/src/oci_cli_omhub_network_anchor/generated/client_mappings.py +14 -0
- services/multicloud/src/oci_cli_omhub_network_anchor/generated/omhubnetworkanchor_cli.py +150 -0
- services/multicloud/src/oci_cli_omhub_resource_anchor/__init__.py +4 -0
- services/multicloud/src/oci_cli_omhub_resource_anchor/generated/__init__.py +4 -0
- services/multicloud/src/oci_cli_omhub_resource_anchor/generated/client_mappings.py +14 -0
- services/multicloud/src/oci_cli_omhub_resource_anchor/generated/omhubresourceanchor_cli.py +143 -0
- services/multicloud/tests/__init__.py +4 -0
- services/redis/src/oci_cli_oci_cache_config_set/__init__.py +4 -0
- services/redis/src/oci_cli_oci_cache_config_set/generated/__init__.py +4 -0
- services/redis/src/oci_cli_oci_cache_config_set/generated/client_mappings.py +14 -0
- services/redis/src/oci_cli_oci_cache_config_set/generated/ocicacheconfigset_cli.py +458 -0
- services/redis/src/oci_cli_oci_cache_default_config_set/__init__.py +4 -0
- services/redis/src/oci_cli_oci_cache_default_config_set/generated/__init__.py +4 -0
- services/redis/src/oci_cli_oci_cache_default_config_set/generated/client_mappings.py +14 -0
- services/redis/src/oci_cli_oci_cache_default_config_set/generated/ocicachedefaultconfigset_cli.py +129 -0
- services/redis/src/oci_cli_redis_cluster/generated/rediscluster_cli.py +10 -2
- oci_cli/help_text_producer/data_files/text/cmdref/compute/compute-gpu-memory-cluster-collection.txt +0 -14
- {oci_cli-3.63.2.dist-info → oci_cli-3.64.0.dist-info}/LICENSE.txt +0 -0
- {oci_cli-3.63.2.dist-info → oci_cli-3.64.0.dist-info}/THIRD_PARTY_LICENSES.txt +0 -0
- {oci_cli-3.63.2.dist-info → oci_cli-3.64.0.dist-info}/WHEEL +0 -0
- {oci_cli-3.63.2.dist-info → oci_cli-3.64.0.dist-info}/entry_points.txt +0 -0
- {oci_cli-3.63.2.dist-info → oci_cli-3.64.0.dist-info}/top_level.txt +0 -0
|
@@ -1343,35 +1343,127 @@ def create_data_science_private_endpoint(ctx, from_json, wait_for_state, max_wai
|
|
|
1343
1343
|
@job_group.command(name=cli_util.override('data_science.create_job.command_name', 'create'), help=u"""Creates a job. \n[Command Reference](createJob)""")
|
|
1344
1344
|
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate the job with.""")
|
|
1345
1345
|
@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the job.""")
|
|
1346
|
-
@cli_util.option('--job-configuration-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1347
|
-
@cli_util.option('--job-infrastructure-configuration-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1348
1346
|
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource.""")
|
|
1349
1347
|
@cli_util.option('--description', help=u"""A short description of the job.""")
|
|
1348
|
+
@cli_util.option('--job-configuration-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1349
|
+
@cli_util.option('--job-infrastructure-configuration-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1350
|
+
@cli_util.option('--job-environment-configuration-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1351
|
+
@cli_util.option('--job-log-configuration-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1352
|
+
@cli_util.option('--job-storage-mount-configuration-details-list', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Collection of JobStorageMountConfigurationDetails.
|
|
1353
|
+
|
|
1354
|
+
This option is a JSON list with items of type StorageMountConfigurationDetails. For documentation on StorageMountConfigurationDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/datascience/20190101/datatypes/StorageMountConfigurationDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1355
|
+
@cli_util.option('--job-node-configuration-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1356
|
+
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. See [Resource Tags]. Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1357
|
+
@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. See [Resource Tags]. Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1358
|
+
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "DELETING", "FAILED", "DELETED"]), 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.""")
|
|
1359
|
+
@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.""")
|
|
1360
|
+
@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.""")
|
|
1361
|
+
@json_skeleton_utils.get_cli_json_input_option({'job-configuration-details': {'module': 'data_science', 'class': 'JobConfigurationDetails'}, 'job-infrastructure-configuration-details': {'module': 'data_science', 'class': 'JobInfrastructureConfigurationDetails'}, 'job-environment-configuration-details': {'module': 'data_science', 'class': 'JobEnvironmentConfigurationDetails'}, 'job-log-configuration-details': {'module': 'data_science', 'class': 'JobLogConfigurationDetails'}, 'job-storage-mount-configuration-details-list': {'module': 'data_science', 'class': 'list[StorageMountConfigurationDetails]'}, 'job-node-configuration-details': {'module': 'data_science', 'class': 'JobNodeConfigurationDetails'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}})
|
|
1362
|
+
@cli_util.help_option
|
|
1363
|
+
@click.pass_context
|
|
1364
|
+
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'job-configuration-details': {'module': 'data_science', 'class': 'JobConfigurationDetails'}, 'job-infrastructure-configuration-details': {'module': 'data_science', 'class': 'JobInfrastructureConfigurationDetails'}, 'job-environment-configuration-details': {'module': 'data_science', 'class': 'JobEnvironmentConfigurationDetails'}, 'job-log-configuration-details': {'module': 'data_science', 'class': 'JobLogConfigurationDetails'}, 'job-storage-mount-configuration-details-list': {'module': 'data_science', 'class': 'list[StorageMountConfigurationDetails]'}, 'job-node-configuration-details': {'module': 'data_science', 'class': 'JobNodeConfigurationDetails'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}}, output_type={'module': 'data_science', 'class': 'Job'})
|
|
1365
|
+
@cli_util.wrap_exceptions
|
|
1366
|
+
def create_job(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_seconds, project_id, compartment_id, display_name, description, job_configuration_details, job_infrastructure_configuration_details, job_environment_configuration_details, job_log_configuration_details, job_storage_mount_configuration_details_list, job_node_configuration_details, freeform_tags, defined_tags):
|
|
1367
|
+
|
|
1368
|
+
kwargs = {}
|
|
1369
|
+
kwargs['opc_request_id'] = cli_util.use_or_generate_request_id(ctx.obj['request_id'])
|
|
1370
|
+
|
|
1371
|
+
_details = {}
|
|
1372
|
+
_details['projectId'] = project_id
|
|
1373
|
+
_details['compartmentId'] = compartment_id
|
|
1374
|
+
|
|
1375
|
+
if display_name is not None:
|
|
1376
|
+
_details['displayName'] = display_name
|
|
1377
|
+
|
|
1378
|
+
if description is not None:
|
|
1379
|
+
_details['description'] = description
|
|
1380
|
+
|
|
1381
|
+
if job_configuration_details is not None:
|
|
1382
|
+
_details['jobConfigurationDetails'] = cli_util.parse_json_parameter("job_configuration_details", job_configuration_details)
|
|
1383
|
+
|
|
1384
|
+
if job_infrastructure_configuration_details is not None:
|
|
1385
|
+
_details['jobInfrastructureConfigurationDetails'] = cli_util.parse_json_parameter("job_infrastructure_configuration_details", job_infrastructure_configuration_details)
|
|
1386
|
+
|
|
1387
|
+
if job_environment_configuration_details is not None:
|
|
1388
|
+
_details['jobEnvironmentConfigurationDetails'] = cli_util.parse_json_parameter("job_environment_configuration_details", job_environment_configuration_details)
|
|
1389
|
+
|
|
1390
|
+
if job_log_configuration_details is not None:
|
|
1391
|
+
_details['jobLogConfigurationDetails'] = cli_util.parse_json_parameter("job_log_configuration_details", job_log_configuration_details)
|
|
1392
|
+
|
|
1393
|
+
if job_storage_mount_configuration_details_list is not None:
|
|
1394
|
+
_details['jobStorageMountConfigurationDetailsList'] = cli_util.parse_json_parameter("job_storage_mount_configuration_details_list", job_storage_mount_configuration_details_list)
|
|
1395
|
+
|
|
1396
|
+
if job_node_configuration_details is not None:
|
|
1397
|
+
_details['jobNodeConfigurationDetails'] = cli_util.parse_json_parameter("job_node_configuration_details", job_node_configuration_details)
|
|
1398
|
+
|
|
1399
|
+
if freeform_tags is not None:
|
|
1400
|
+
_details['freeformTags'] = cli_util.parse_json_parameter("freeform_tags", freeform_tags)
|
|
1401
|
+
|
|
1402
|
+
if defined_tags is not None:
|
|
1403
|
+
_details['definedTags'] = cli_util.parse_json_parameter("defined_tags", defined_tags)
|
|
1404
|
+
|
|
1405
|
+
client = cli_util.build_client('data_science', 'data_science', ctx)
|
|
1406
|
+
result = client.create_job(
|
|
1407
|
+
create_job_details=_details,
|
|
1408
|
+
**kwargs
|
|
1409
|
+
)
|
|
1410
|
+
if wait_for_state:
|
|
1411
|
+
|
|
1412
|
+
if hasattr(client, 'get_job') and callable(getattr(client, 'get_job')):
|
|
1413
|
+
try:
|
|
1414
|
+
wait_period_kwargs = {}
|
|
1415
|
+
if max_wait_seconds is not None:
|
|
1416
|
+
wait_period_kwargs['max_wait_seconds'] = max_wait_seconds
|
|
1417
|
+
if wait_interval_seconds is not None:
|
|
1418
|
+
wait_period_kwargs['max_interval_seconds'] = wait_interval_seconds
|
|
1419
|
+
|
|
1420
|
+
click.echo('Action completed. Waiting until the resource has entered state: {}'.format(wait_for_state), file=sys.stderr)
|
|
1421
|
+
result = oci.wait_until(client, client.get_job(result.data.id), 'lifecycle_state', wait_for_state, **wait_period_kwargs)
|
|
1422
|
+
except oci.exceptions.MaximumWaitTimeExceeded as e:
|
|
1423
|
+
# If we fail, we should show an error, but we should still provide the information to the customer
|
|
1424
|
+
click.echo('Failed to wait until the resource entered the specified state. Outputting last known resource state', file=sys.stderr)
|
|
1425
|
+
cli_util.render_response(result, ctx)
|
|
1426
|
+
sys.exit(2)
|
|
1427
|
+
except Exception:
|
|
1428
|
+
click.echo('Encountered error while waiting for resource to enter the specified state. Outputting last known resource state', file=sys.stderr)
|
|
1429
|
+
cli_util.render_response(result, ctx)
|
|
1430
|
+
raise
|
|
1431
|
+
else:
|
|
1432
|
+
click.echo('Unable to wait for the resource to enter the specified state', file=sys.stderr)
|
|
1433
|
+
cli_util.render_response(result, ctx)
|
|
1434
|
+
|
|
1435
|
+
|
|
1436
|
+
@job_group.command(name=cli_util.override('data_science.create_job_empty_job_configuration_details.command_name', 'create-job-empty-job-configuration-details'), help=u"""Creates a job. \n[Command Reference](createJob)""")
|
|
1437
|
+
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate the job with.""")
|
|
1438
|
+
@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the job.""")
|
|
1439
|
+
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource.""")
|
|
1440
|
+
@cli_util.option('--description', help=u"""A short description of the job.""")
|
|
1441
|
+
@cli_util.option('--job-infrastructure-configuration-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1350
1442
|
@cli_util.option('--job-environment-configuration-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1351
1443
|
@cli_util.option('--job-log-configuration-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1352
1444
|
@cli_util.option('--job-storage-mount-configuration-details-list', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Collection of JobStorageMountConfigurationDetails.
|
|
1353
1445
|
|
|
1354
1446
|
This option is a JSON list with items of type StorageMountConfigurationDetails. For documentation on StorageMountConfigurationDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/datascience/20190101/datatypes/StorageMountConfigurationDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1447
|
+
@cli_util.option('--job-node-configuration-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1355
1448
|
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. See [Resource Tags]. Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1356
1449
|
@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. See [Resource Tags]. Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1357
1450
|
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "DELETING", "FAILED", "DELETED"]), 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.""")
|
|
1358
1451
|
@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.""")
|
|
1359
1452
|
@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.""")
|
|
1360
|
-
@json_skeleton_utils.get_cli_json_input_option({'job-configuration-details': {'module': 'data_science', 'class': '
|
|
1453
|
+
@json_skeleton_utils.get_cli_json_input_option({'job-infrastructure-configuration-details': {'module': 'data_science', 'class': 'JobInfrastructureConfigurationDetails'}, 'job-environment-configuration-details': {'module': 'data_science', 'class': 'JobEnvironmentConfigurationDetails'}, 'job-log-configuration-details': {'module': 'data_science', 'class': 'JobLogConfigurationDetails'}, 'job-storage-mount-configuration-details-list': {'module': 'data_science', 'class': 'list[StorageMountConfigurationDetails]'}, 'job-node-configuration-details': {'module': 'data_science', 'class': 'JobNodeConfigurationDetails'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}})
|
|
1361
1454
|
@cli_util.help_option
|
|
1362
1455
|
@click.pass_context
|
|
1363
|
-
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'job-configuration-details': {'module': 'data_science', 'class': '
|
|
1456
|
+
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'job-infrastructure-configuration-details': {'module': 'data_science', 'class': 'JobInfrastructureConfigurationDetails'}, 'job-environment-configuration-details': {'module': 'data_science', 'class': 'JobEnvironmentConfigurationDetails'}, 'job-log-configuration-details': {'module': 'data_science', 'class': 'JobLogConfigurationDetails'}, 'job-storage-mount-configuration-details-list': {'module': 'data_science', 'class': 'list[StorageMountConfigurationDetails]'}, 'job-node-configuration-details': {'module': 'data_science', 'class': 'JobNodeConfigurationDetails'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}}, output_type={'module': 'data_science', 'class': 'Job'})
|
|
1364
1457
|
@cli_util.wrap_exceptions
|
|
1365
|
-
def
|
|
1458
|
+
def create_job_empty_job_configuration_details(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_seconds, project_id, compartment_id, display_name, description, job_infrastructure_configuration_details, job_environment_configuration_details, job_log_configuration_details, job_storage_mount_configuration_details_list, job_node_configuration_details, freeform_tags, defined_tags):
|
|
1366
1459
|
|
|
1367
1460
|
kwargs = {}
|
|
1368
1461
|
kwargs['opc_request_id'] = cli_util.use_or_generate_request_id(ctx.obj['request_id'])
|
|
1369
1462
|
|
|
1370
1463
|
_details = {}
|
|
1464
|
+
_details['jobConfigurationDetails'] = {}
|
|
1371
1465
|
_details['projectId'] = project_id
|
|
1372
1466
|
_details['compartmentId'] = compartment_id
|
|
1373
|
-
_details['jobConfigurationDetails'] = cli_util.parse_json_parameter("job_configuration_details", job_configuration_details)
|
|
1374
|
-
_details['jobInfrastructureConfigurationDetails'] = cli_util.parse_json_parameter("job_infrastructure_configuration_details", job_infrastructure_configuration_details)
|
|
1375
1467
|
|
|
1376
1468
|
if display_name is not None:
|
|
1377
1469
|
_details['displayName'] = display_name
|
|
@@ -1379,6 +1471,9 @@ def create_job(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_s
|
|
|
1379
1471
|
if description is not None:
|
|
1380
1472
|
_details['description'] = description
|
|
1381
1473
|
|
|
1474
|
+
if job_infrastructure_configuration_details is not None:
|
|
1475
|
+
_details['jobInfrastructureConfigurationDetails'] = cli_util.parse_json_parameter("job_infrastructure_configuration_details", job_infrastructure_configuration_details)
|
|
1476
|
+
|
|
1382
1477
|
if job_environment_configuration_details is not None:
|
|
1383
1478
|
_details['jobEnvironmentConfigurationDetails'] = cli_util.parse_json_parameter("job_environment_configuration_details", job_environment_configuration_details)
|
|
1384
1479
|
|
|
@@ -1388,12 +1483,17 @@ def create_job(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_s
|
|
|
1388
1483
|
if job_storage_mount_configuration_details_list is not None:
|
|
1389
1484
|
_details['jobStorageMountConfigurationDetailsList'] = cli_util.parse_json_parameter("job_storage_mount_configuration_details_list", job_storage_mount_configuration_details_list)
|
|
1390
1485
|
|
|
1486
|
+
if job_node_configuration_details is not None:
|
|
1487
|
+
_details['jobNodeConfigurationDetails'] = cli_util.parse_json_parameter("job_node_configuration_details", job_node_configuration_details)
|
|
1488
|
+
|
|
1391
1489
|
if freeform_tags is not None:
|
|
1392
1490
|
_details['freeformTags'] = cli_util.parse_json_parameter("freeform_tags", freeform_tags)
|
|
1393
1491
|
|
|
1394
1492
|
if defined_tags is not None:
|
|
1395
1493
|
_details['definedTags'] = cli_util.parse_json_parameter("defined_tags", defined_tags)
|
|
1396
1494
|
|
|
1495
|
+
_details['jobConfigurationDetails']['jobType'] = 'EMPTY'
|
|
1496
|
+
|
|
1397
1497
|
client = cli_util.build_client('data_science', 'data_science', ctx)
|
|
1398
1498
|
result = client.create_job(
|
|
1399
1499
|
create_job_details=_details,
|
|
@@ -1428,28 +1528,30 @@ def create_job(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_s
|
|
|
1428
1528
|
@job_group.command(name=cli_util.override('data_science.create_job_default_job_configuration_details.command_name', 'create-job-default-job-configuration-details'), help=u"""Creates a job. \n[Command Reference](createJob)""")
|
|
1429
1529
|
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate the job with.""")
|
|
1430
1530
|
@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the job.""")
|
|
1431
|
-
@cli_util.option('--job-infrastructure-configuration-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1432
1531
|
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource.""")
|
|
1433
1532
|
@cli_util.option('--description', help=u"""A short description of the job.""")
|
|
1533
|
+
@cli_util.option('--job-infrastructure-configuration-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1434
1534
|
@cli_util.option('--job-environment-configuration-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1435
1535
|
@cli_util.option('--job-log-configuration-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1436
1536
|
@cli_util.option('--job-storage-mount-configuration-details-list', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Collection of JobStorageMountConfigurationDetails.
|
|
1437
1537
|
|
|
1438
1538
|
This option is a JSON list with items of type StorageMountConfigurationDetails. For documentation on StorageMountConfigurationDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/datascience/20190101/datatypes/StorageMountConfigurationDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1539
|
+
@cli_util.option('--job-node-configuration-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1439
1540
|
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. See [Resource Tags]. Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1440
1541
|
@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. See [Resource Tags]. Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1441
1542
|
@cli_util.option('--job-configuration-details-environment-variables', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Environment variables to set for the job.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1442
1543
|
@cli_util.option('--job-configuration-details-command-line-arguments', help=u"""The arguments to pass to the job.""")
|
|
1443
1544
|
@cli_util.option('--job-configuration-details-maximum-runtime-in-minutes', type=click.INT, help=u"""A time bound for the execution of the job. Timer starts when the job becomes active.""")
|
|
1545
|
+
@cli_util.option('--job-configuration-details-startup-probe-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1444
1546
|
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "DELETING", "FAILED", "DELETED"]), 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.""")
|
|
1445
1547
|
@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.""")
|
|
1446
1548
|
@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.""")
|
|
1447
|
-
@json_skeleton_utils.get_cli_json_input_option({'job-infrastructure-configuration-details': {'module': 'data_science', 'class': 'JobInfrastructureConfigurationDetails'}, 'job-environment-configuration-details': {'module': 'data_science', 'class': 'JobEnvironmentConfigurationDetails'}, 'job-log-configuration-details': {'module': 'data_science', 'class': 'JobLogConfigurationDetails'}, 'job-storage-mount-configuration-details-list': {'module': 'data_science', 'class': 'list[StorageMountConfigurationDetails]'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}, 'job-configuration-details-environment-variables': {'module': 'data_science', 'class': 'dict(str, string)'}})
|
|
1549
|
+
@json_skeleton_utils.get_cli_json_input_option({'job-infrastructure-configuration-details': {'module': 'data_science', 'class': 'JobInfrastructureConfigurationDetails'}, 'job-environment-configuration-details': {'module': 'data_science', 'class': 'JobEnvironmentConfigurationDetails'}, 'job-log-configuration-details': {'module': 'data_science', 'class': 'JobLogConfigurationDetails'}, 'job-storage-mount-configuration-details-list': {'module': 'data_science', 'class': 'list[StorageMountConfigurationDetails]'}, 'job-node-configuration-details': {'module': 'data_science', 'class': 'JobNodeConfigurationDetails'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}, 'job-configuration-details-environment-variables': {'module': 'data_science', 'class': 'dict(str, string)'}, 'job-configuration-details-startup-probe-details': {'module': 'data_science', 'class': 'JobProbeDetails'}})
|
|
1448
1550
|
@cli_util.help_option
|
|
1449
1551
|
@click.pass_context
|
|
1450
|
-
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'job-infrastructure-configuration-details': {'module': 'data_science', 'class': 'JobInfrastructureConfigurationDetails'}, 'job-environment-configuration-details': {'module': 'data_science', 'class': 'JobEnvironmentConfigurationDetails'}, 'job-log-configuration-details': {'module': 'data_science', 'class': 'JobLogConfigurationDetails'}, 'job-storage-mount-configuration-details-list': {'module': 'data_science', 'class': 'list[StorageMountConfigurationDetails]'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}, 'job-configuration-details-environment-variables': {'module': 'data_science', 'class': 'dict(str, string)'}}, output_type={'module': 'data_science', 'class': 'Job'})
|
|
1552
|
+
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'job-infrastructure-configuration-details': {'module': 'data_science', 'class': 'JobInfrastructureConfigurationDetails'}, 'job-environment-configuration-details': {'module': 'data_science', 'class': 'JobEnvironmentConfigurationDetails'}, 'job-log-configuration-details': {'module': 'data_science', 'class': 'JobLogConfigurationDetails'}, 'job-storage-mount-configuration-details-list': {'module': 'data_science', 'class': 'list[StorageMountConfigurationDetails]'}, 'job-node-configuration-details': {'module': 'data_science', 'class': 'JobNodeConfigurationDetails'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}, 'job-configuration-details-environment-variables': {'module': 'data_science', 'class': 'dict(str, string)'}, 'job-configuration-details-startup-probe-details': {'module': 'data_science', 'class': 'JobProbeDetails'}}, output_type={'module': 'data_science', 'class': 'Job'})
|
|
1451
1553
|
@cli_util.wrap_exceptions
|
|
1452
|
-
def create_job_default_job_configuration_details(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_seconds, project_id, compartment_id,
|
|
1554
|
+
def create_job_default_job_configuration_details(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_seconds, project_id, compartment_id, display_name, description, job_infrastructure_configuration_details, job_environment_configuration_details, job_log_configuration_details, job_storage_mount_configuration_details_list, job_node_configuration_details, freeform_tags, defined_tags, job_configuration_details_environment_variables, job_configuration_details_command_line_arguments, job_configuration_details_maximum_runtime_in_minutes, job_configuration_details_startup_probe_details):
|
|
1453
1555
|
|
|
1454
1556
|
kwargs = {}
|
|
1455
1557
|
kwargs['opc_request_id'] = cli_util.use_or_generate_request_id(ctx.obj['request_id'])
|
|
@@ -1458,7 +1560,6 @@ def create_job_default_job_configuration_details(ctx, from_json, wait_for_state,
|
|
|
1458
1560
|
_details['jobConfigurationDetails'] = {}
|
|
1459
1561
|
_details['projectId'] = project_id
|
|
1460
1562
|
_details['compartmentId'] = compartment_id
|
|
1461
|
-
_details['jobInfrastructureConfigurationDetails'] = cli_util.parse_json_parameter("job_infrastructure_configuration_details", job_infrastructure_configuration_details)
|
|
1462
1563
|
|
|
1463
1564
|
if display_name is not None:
|
|
1464
1565
|
_details['displayName'] = display_name
|
|
@@ -1466,6 +1567,9 @@ def create_job_default_job_configuration_details(ctx, from_json, wait_for_state,
|
|
|
1466
1567
|
if description is not None:
|
|
1467
1568
|
_details['description'] = description
|
|
1468
1569
|
|
|
1570
|
+
if job_infrastructure_configuration_details is not None:
|
|
1571
|
+
_details['jobInfrastructureConfigurationDetails'] = cli_util.parse_json_parameter("job_infrastructure_configuration_details", job_infrastructure_configuration_details)
|
|
1572
|
+
|
|
1469
1573
|
if job_environment_configuration_details is not None:
|
|
1470
1574
|
_details['jobEnvironmentConfigurationDetails'] = cli_util.parse_json_parameter("job_environment_configuration_details", job_environment_configuration_details)
|
|
1471
1575
|
|
|
@@ -1475,6 +1579,9 @@ def create_job_default_job_configuration_details(ctx, from_json, wait_for_state,
|
|
|
1475
1579
|
if job_storage_mount_configuration_details_list is not None:
|
|
1476
1580
|
_details['jobStorageMountConfigurationDetailsList'] = cli_util.parse_json_parameter("job_storage_mount_configuration_details_list", job_storage_mount_configuration_details_list)
|
|
1477
1581
|
|
|
1582
|
+
if job_node_configuration_details is not None:
|
|
1583
|
+
_details['jobNodeConfigurationDetails'] = cli_util.parse_json_parameter("job_node_configuration_details", job_node_configuration_details)
|
|
1584
|
+
|
|
1478
1585
|
if freeform_tags is not None:
|
|
1479
1586
|
_details['freeformTags'] = cli_util.parse_json_parameter("freeform_tags", freeform_tags)
|
|
1480
1587
|
|
|
@@ -1490,6 +1597,9 @@ def create_job_default_job_configuration_details(ctx, from_json, wait_for_state,
|
|
|
1490
1597
|
if job_configuration_details_maximum_runtime_in_minutes is not None:
|
|
1491
1598
|
_details['jobConfigurationDetails']['maximumRuntimeInMinutes'] = job_configuration_details_maximum_runtime_in_minutes
|
|
1492
1599
|
|
|
1600
|
+
if job_configuration_details_startup_probe_details is not None:
|
|
1601
|
+
_details['jobConfigurationDetails']['startupProbeDetails'] = cli_util.parse_json_parameter("job_configuration_details_startup_probe_details", job_configuration_details_startup_probe_details)
|
|
1602
|
+
|
|
1493
1603
|
_details['jobConfigurationDetails']['jobType'] = 'DEFAULT'
|
|
1494
1604
|
|
|
1495
1605
|
client = cli_util.build_client('data_science', 'data_science', ctx)
|
|
@@ -1523,31 +1633,32 @@ def create_job_default_job_configuration_details(ctx, from_json, wait_for_state,
|
|
|
1523
1633
|
cli_util.render_response(result, ctx)
|
|
1524
1634
|
|
|
1525
1635
|
|
|
1526
|
-
@job_group.command(name=cli_util.override('data_science.
|
|
1636
|
+
@job_group.command(name=cli_util.override('data_science.create_job_multi_node_job_infrastructure_configuration_details.command_name', 'create-job-multi-node-job-infrastructure-configuration-details'), help=u"""Creates a job. \n[Command Reference](createJob)""")
|
|
1527
1637
|
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate the job with.""")
|
|
1528
1638
|
@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the job.""")
|
|
1529
|
-
@cli_util.option('--job-configuration-details', required=True,
|
|
1530
|
-
@cli_util.option('--job-infrastructure-configuration-details-shape-name', required=True, help=u"""The shape used to launch the job run instances.""")
|
|
1639
|
+
@cli_util.option('--job-infrastructure-configuration-details-shape-name', required=True, help=u"""The name that corresponds to the JobShapeSummary to use for the job node""")
|
|
1531
1640
|
@cli_util.option('--job-infrastructure-configuration-details-block-storage-size-in-gbs', required=True, type=click.INT, help=u"""The size of the block storage volume to attach to the instance running the job""")
|
|
1532
1641
|
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource.""")
|
|
1533
1642
|
@cli_util.option('--description', help=u"""A short description of the job.""")
|
|
1643
|
+
@cli_util.option('--job-configuration-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1534
1644
|
@cli_util.option('--job-environment-configuration-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1535
1645
|
@cli_util.option('--job-log-configuration-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1536
1646
|
@cli_util.option('--job-storage-mount-configuration-details-list', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Collection of JobStorageMountConfigurationDetails.
|
|
1537
1647
|
|
|
1538
1648
|
This option is a JSON list with items of type StorageMountConfigurationDetails. For documentation on StorageMountConfigurationDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/datascience/20190101/datatypes/StorageMountConfigurationDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1649
|
+
@cli_util.option('--job-node-configuration-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1539
1650
|
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. See [Resource Tags]. Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1540
1651
|
@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. See [Resource Tags]. Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1541
1652
|
@cli_util.option('--job-infrastructure-configuration-details-job-shape-config-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1542
1653
|
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "DELETING", "FAILED", "DELETED"]), 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.""")
|
|
1543
1654
|
@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.""")
|
|
1544
1655
|
@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.""")
|
|
1545
|
-
@json_skeleton_utils.get_cli_json_input_option({'job-configuration-details': {'module': 'data_science', 'class': 'JobConfigurationDetails'}, 'job-environment-configuration-details': {'module': 'data_science', 'class': 'JobEnvironmentConfigurationDetails'}, 'job-log-configuration-details': {'module': 'data_science', 'class': 'JobLogConfigurationDetails'}, 'job-storage-mount-configuration-details-list': {'module': 'data_science', 'class': 'list[StorageMountConfigurationDetails]'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}, 'job-infrastructure-configuration-details-job-shape-config-details': {'module': 'data_science', 'class': 'JobShapeConfigDetails'}})
|
|
1656
|
+
@json_skeleton_utils.get_cli_json_input_option({'job-configuration-details': {'module': 'data_science', 'class': 'JobConfigurationDetails'}, 'job-environment-configuration-details': {'module': 'data_science', 'class': 'JobEnvironmentConfigurationDetails'}, 'job-log-configuration-details': {'module': 'data_science', 'class': 'JobLogConfigurationDetails'}, 'job-storage-mount-configuration-details-list': {'module': 'data_science', 'class': 'list[StorageMountConfigurationDetails]'}, 'job-node-configuration-details': {'module': 'data_science', 'class': 'JobNodeConfigurationDetails'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}, 'job-infrastructure-configuration-details-job-shape-config-details': {'module': 'data_science', 'class': 'JobShapeConfigDetails'}})
|
|
1546
1657
|
@cli_util.help_option
|
|
1547
1658
|
@click.pass_context
|
|
1548
|
-
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'job-configuration-details': {'module': 'data_science', 'class': 'JobConfigurationDetails'}, 'job-environment-configuration-details': {'module': 'data_science', 'class': 'JobEnvironmentConfigurationDetails'}, 'job-log-configuration-details': {'module': 'data_science', 'class': 'JobLogConfigurationDetails'}, 'job-storage-mount-configuration-details-list': {'module': 'data_science', 'class': 'list[StorageMountConfigurationDetails]'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}, 'job-infrastructure-configuration-details-job-shape-config-details': {'module': 'data_science', 'class': 'JobShapeConfigDetails'}}, output_type={'module': 'data_science', 'class': 'Job'})
|
|
1659
|
+
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'job-configuration-details': {'module': 'data_science', 'class': 'JobConfigurationDetails'}, 'job-environment-configuration-details': {'module': 'data_science', 'class': 'JobEnvironmentConfigurationDetails'}, 'job-log-configuration-details': {'module': 'data_science', 'class': 'JobLogConfigurationDetails'}, 'job-storage-mount-configuration-details-list': {'module': 'data_science', 'class': 'list[StorageMountConfigurationDetails]'}, 'job-node-configuration-details': {'module': 'data_science', 'class': 'JobNodeConfigurationDetails'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}, 'job-infrastructure-configuration-details-job-shape-config-details': {'module': 'data_science', 'class': 'JobShapeConfigDetails'}}, output_type={'module': 'data_science', 'class': 'Job'})
|
|
1549
1660
|
@cli_util.wrap_exceptions
|
|
1550
|
-
def
|
|
1661
|
+
def create_job_multi_node_job_infrastructure_configuration_details(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_seconds, project_id, compartment_id, job_infrastructure_configuration_details_shape_name, job_infrastructure_configuration_details_block_storage_size_in_gbs, display_name, description, job_configuration_details, job_environment_configuration_details, job_log_configuration_details, job_storage_mount_configuration_details_list, job_node_configuration_details, freeform_tags, defined_tags, job_infrastructure_configuration_details_job_shape_config_details):
|
|
1551
1662
|
|
|
1552
1663
|
kwargs = {}
|
|
1553
1664
|
kwargs['opc_request_id'] = cli_util.use_or_generate_request_id(ctx.obj['request_id'])
|
|
@@ -1556,7 +1667,6 @@ def create_job_managed_egress_standalone_job_infrastructure_configuration_detail
|
|
|
1556
1667
|
_details['jobInfrastructureConfigurationDetails'] = {}
|
|
1557
1668
|
_details['projectId'] = project_id
|
|
1558
1669
|
_details['compartmentId'] = compartment_id
|
|
1559
|
-
_details['jobConfigurationDetails'] = cli_util.parse_json_parameter("job_configuration_details", job_configuration_details)
|
|
1560
1670
|
_details['jobInfrastructureConfigurationDetails']['shapeName'] = job_infrastructure_configuration_details_shape_name
|
|
1561
1671
|
_details['jobInfrastructureConfigurationDetails']['blockStorageSizeInGBs'] = job_infrastructure_configuration_details_block_storage_size_in_gbs
|
|
1562
1672
|
|
|
@@ -1566,6 +1676,9 @@ def create_job_managed_egress_standalone_job_infrastructure_configuration_detail
|
|
|
1566
1676
|
if description is not None:
|
|
1567
1677
|
_details['description'] = description
|
|
1568
1678
|
|
|
1679
|
+
if job_configuration_details is not None:
|
|
1680
|
+
_details['jobConfigurationDetails'] = cli_util.parse_json_parameter("job_configuration_details", job_configuration_details)
|
|
1681
|
+
|
|
1569
1682
|
if job_environment_configuration_details is not None:
|
|
1570
1683
|
_details['jobEnvironmentConfigurationDetails'] = cli_util.parse_json_parameter("job_environment_configuration_details", job_environment_configuration_details)
|
|
1571
1684
|
|
|
@@ -1575,6 +1688,9 @@ def create_job_managed_egress_standalone_job_infrastructure_configuration_detail
|
|
|
1575
1688
|
if job_storage_mount_configuration_details_list is not None:
|
|
1576
1689
|
_details['jobStorageMountConfigurationDetailsList'] = cli_util.parse_json_parameter("job_storage_mount_configuration_details_list", job_storage_mount_configuration_details_list)
|
|
1577
1690
|
|
|
1691
|
+
if job_node_configuration_details is not None:
|
|
1692
|
+
_details['jobNodeConfigurationDetails'] = cli_util.parse_json_parameter("job_node_configuration_details", job_node_configuration_details)
|
|
1693
|
+
|
|
1578
1694
|
if freeform_tags is not None:
|
|
1579
1695
|
_details['freeformTags'] = cli_util.parse_json_parameter("freeform_tags", freeform_tags)
|
|
1580
1696
|
|
|
@@ -1584,7 +1700,7 @@ def create_job_managed_egress_standalone_job_infrastructure_configuration_detail
|
|
|
1584
1700
|
if job_infrastructure_configuration_details_job_shape_config_details is not None:
|
|
1585
1701
|
_details['jobInfrastructureConfigurationDetails']['jobShapeConfigDetails'] = cli_util.parse_json_parameter("job_infrastructure_configuration_details_job_shape_config_details", job_infrastructure_configuration_details_job_shape_config_details)
|
|
1586
1702
|
|
|
1587
|
-
_details['jobInfrastructureConfigurationDetails']['jobInfrastructureType'] = '
|
|
1703
|
+
_details['jobInfrastructureConfigurationDetails']['jobInfrastructureType'] = 'MULTI_NODE'
|
|
1588
1704
|
|
|
1589
1705
|
client = cli_util.build_client('data_science', 'data_science', ctx)
|
|
1590
1706
|
result = client.create_job(
|
|
@@ -1617,32 +1733,124 @@ def create_job_managed_egress_standalone_job_infrastructure_configuration_detail
|
|
|
1617
1733
|
cli_util.render_response(result, ctx)
|
|
1618
1734
|
|
|
1619
1735
|
|
|
1620
|
-
@job_group.command(name=cli_util.override('data_science.
|
|
1736
|
+
@job_group.command(name=cli_util.override('data_science.create_job_empty_job_infrastructure_configuration_details.command_name', 'create-job-empty-job-infrastructure-configuration-details'), help=u"""Creates a job. \n[Command Reference](createJob)""")
|
|
1737
|
+
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate the job with.""")
|
|
1738
|
+
@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the job.""")
|
|
1739
|
+
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource.""")
|
|
1740
|
+
@cli_util.option('--description', help=u"""A short description of the job.""")
|
|
1741
|
+
@cli_util.option('--job-configuration-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1742
|
+
@cli_util.option('--job-environment-configuration-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1743
|
+
@cli_util.option('--job-log-configuration-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1744
|
+
@cli_util.option('--job-storage-mount-configuration-details-list', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Collection of JobStorageMountConfigurationDetails.
|
|
1745
|
+
|
|
1746
|
+
This option is a JSON list with items of type StorageMountConfigurationDetails. For documentation on StorageMountConfigurationDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/datascience/20190101/datatypes/StorageMountConfigurationDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1747
|
+
@cli_util.option('--job-node-configuration-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1748
|
+
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. See [Resource Tags]. Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1749
|
+
@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. See [Resource Tags]. Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1750
|
+
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "DELETING", "FAILED", "DELETED"]), 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.""")
|
|
1751
|
+
@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.""")
|
|
1752
|
+
@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.""")
|
|
1753
|
+
@json_skeleton_utils.get_cli_json_input_option({'job-configuration-details': {'module': 'data_science', 'class': 'JobConfigurationDetails'}, 'job-environment-configuration-details': {'module': 'data_science', 'class': 'JobEnvironmentConfigurationDetails'}, 'job-log-configuration-details': {'module': 'data_science', 'class': 'JobLogConfigurationDetails'}, 'job-storage-mount-configuration-details-list': {'module': 'data_science', 'class': 'list[StorageMountConfigurationDetails]'}, 'job-node-configuration-details': {'module': 'data_science', 'class': 'JobNodeConfigurationDetails'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}})
|
|
1754
|
+
@cli_util.help_option
|
|
1755
|
+
@click.pass_context
|
|
1756
|
+
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'job-configuration-details': {'module': 'data_science', 'class': 'JobConfigurationDetails'}, 'job-environment-configuration-details': {'module': 'data_science', 'class': 'JobEnvironmentConfigurationDetails'}, 'job-log-configuration-details': {'module': 'data_science', 'class': 'JobLogConfigurationDetails'}, 'job-storage-mount-configuration-details-list': {'module': 'data_science', 'class': 'list[StorageMountConfigurationDetails]'}, 'job-node-configuration-details': {'module': 'data_science', 'class': 'JobNodeConfigurationDetails'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}}, output_type={'module': 'data_science', 'class': 'Job'})
|
|
1757
|
+
@cli_util.wrap_exceptions
|
|
1758
|
+
def create_job_empty_job_infrastructure_configuration_details(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_seconds, project_id, compartment_id, display_name, description, job_configuration_details, job_environment_configuration_details, job_log_configuration_details, job_storage_mount_configuration_details_list, job_node_configuration_details, freeform_tags, defined_tags):
|
|
1759
|
+
|
|
1760
|
+
kwargs = {}
|
|
1761
|
+
kwargs['opc_request_id'] = cli_util.use_or_generate_request_id(ctx.obj['request_id'])
|
|
1762
|
+
|
|
1763
|
+
_details = {}
|
|
1764
|
+
_details['jobInfrastructureConfigurationDetails'] = {}
|
|
1765
|
+
_details['projectId'] = project_id
|
|
1766
|
+
_details['compartmentId'] = compartment_id
|
|
1767
|
+
|
|
1768
|
+
if display_name is not None:
|
|
1769
|
+
_details['displayName'] = display_name
|
|
1770
|
+
|
|
1771
|
+
if description is not None:
|
|
1772
|
+
_details['description'] = description
|
|
1773
|
+
|
|
1774
|
+
if job_configuration_details is not None:
|
|
1775
|
+
_details['jobConfigurationDetails'] = cli_util.parse_json_parameter("job_configuration_details", job_configuration_details)
|
|
1776
|
+
|
|
1777
|
+
if job_environment_configuration_details is not None:
|
|
1778
|
+
_details['jobEnvironmentConfigurationDetails'] = cli_util.parse_json_parameter("job_environment_configuration_details", job_environment_configuration_details)
|
|
1779
|
+
|
|
1780
|
+
if job_log_configuration_details is not None:
|
|
1781
|
+
_details['jobLogConfigurationDetails'] = cli_util.parse_json_parameter("job_log_configuration_details", job_log_configuration_details)
|
|
1782
|
+
|
|
1783
|
+
if job_storage_mount_configuration_details_list is not None:
|
|
1784
|
+
_details['jobStorageMountConfigurationDetailsList'] = cli_util.parse_json_parameter("job_storage_mount_configuration_details_list", job_storage_mount_configuration_details_list)
|
|
1785
|
+
|
|
1786
|
+
if job_node_configuration_details is not None:
|
|
1787
|
+
_details['jobNodeConfigurationDetails'] = cli_util.parse_json_parameter("job_node_configuration_details", job_node_configuration_details)
|
|
1788
|
+
|
|
1789
|
+
if freeform_tags is not None:
|
|
1790
|
+
_details['freeformTags'] = cli_util.parse_json_parameter("freeform_tags", freeform_tags)
|
|
1791
|
+
|
|
1792
|
+
if defined_tags is not None:
|
|
1793
|
+
_details['definedTags'] = cli_util.parse_json_parameter("defined_tags", defined_tags)
|
|
1794
|
+
|
|
1795
|
+
_details['jobInfrastructureConfigurationDetails']['jobInfrastructureType'] = 'EMPTY'
|
|
1796
|
+
|
|
1797
|
+
client = cli_util.build_client('data_science', 'data_science', ctx)
|
|
1798
|
+
result = client.create_job(
|
|
1799
|
+
create_job_details=_details,
|
|
1800
|
+
**kwargs
|
|
1801
|
+
)
|
|
1802
|
+
if wait_for_state:
|
|
1803
|
+
|
|
1804
|
+
if hasattr(client, 'get_job') and callable(getattr(client, 'get_job')):
|
|
1805
|
+
try:
|
|
1806
|
+
wait_period_kwargs = {}
|
|
1807
|
+
if max_wait_seconds is not None:
|
|
1808
|
+
wait_period_kwargs['max_wait_seconds'] = max_wait_seconds
|
|
1809
|
+
if wait_interval_seconds is not None:
|
|
1810
|
+
wait_period_kwargs['max_interval_seconds'] = wait_interval_seconds
|
|
1811
|
+
|
|
1812
|
+
click.echo('Action completed. Waiting until the resource has entered state: {}'.format(wait_for_state), file=sys.stderr)
|
|
1813
|
+
result = oci.wait_until(client, client.get_job(result.data.id), 'lifecycle_state', wait_for_state, **wait_period_kwargs)
|
|
1814
|
+
except oci.exceptions.MaximumWaitTimeExceeded as e:
|
|
1815
|
+
# If we fail, we should show an error, but we should still provide the information to the customer
|
|
1816
|
+
click.echo('Failed to wait until the resource entered the specified state. Outputting last known resource state', file=sys.stderr)
|
|
1817
|
+
cli_util.render_response(result, ctx)
|
|
1818
|
+
sys.exit(2)
|
|
1819
|
+
except Exception:
|
|
1820
|
+
click.echo('Encountered error while waiting for resource to enter the specified state. Outputting last known resource state', file=sys.stderr)
|
|
1821
|
+
cli_util.render_response(result, ctx)
|
|
1822
|
+
raise
|
|
1823
|
+
else:
|
|
1824
|
+
click.echo('Unable to wait for the resource to enter the specified state', file=sys.stderr)
|
|
1825
|
+
cli_util.render_response(result, ctx)
|
|
1826
|
+
|
|
1827
|
+
|
|
1828
|
+
@job_group.command(name=cli_util.override('data_science.create_job_managed_egress_standalone_job_infrastructure_configuration_details.command_name', 'create-job-managed-egress-standalone-job-infrastructure-configuration-details'), help=u"""Creates a job. \n[Command Reference](createJob)""")
|
|
1621
1829
|
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate the job with.""")
|
|
1622
1830
|
@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the job.""")
|
|
1623
|
-
@cli_util.option('--job-configuration-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1624
1831
|
@cli_util.option('--job-infrastructure-configuration-details-shape-name', required=True, help=u"""The shape used to launch the job run instances.""")
|
|
1625
|
-
@cli_util.option('--job-infrastructure-configuration-details-subnet-id', required=True, help=u"""The subnet to create a secondary vnic in to attach to the instance running the job""")
|
|
1626
1832
|
@cli_util.option('--job-infrastructure-configuration-details-block-storage-size-in-gbs', required=True, type=click.INT, help=u"""The size of the block storage volume to attach to the instance running the job""")
|
|
1627
1833
|
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource.""")
|
|
1628
1834
|
@cli_util.option('--description', help=u"""A short description of the job.""")
|
|
1835
|
+
@cli_util.option('--job-configuration-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1629
1836
|
@cli_util.option('--job-environment-configuration-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1630
1837
|
@cli_util.option('--job-log-configuration-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1631
1838
|
@cli_util.option('--job-storage-mount-configuration-details-list', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Collection of JobStorageMountConfigurationDetails.
|
|
1632
1839
|
|
|
1633
1840
|
This option is a JSON list with items of type StorageMountConfigurationDetails. For documentation on StorageMountConfigurationDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/datascience/20190101/datatypes/StorageMountConfigurationDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1841
|
+
@cli_util.option('--job-node-configuration-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1634
1842
|
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. See [Resource Tags]. Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1635
1843
|
@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. See [Resource Tags]. Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1636
1844
|
@cli_util.option('--job-infrastructure-configuration-details-job-shape-config-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1637
1845
|
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "DELETING", "FAILED", "DELETED"]), 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.""")
|
|
1638
1846
|
@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.""")
|
|
1639
1847
|
@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.""")
|
|
1640
|
-
@json_skeleton_utils.get_cli_json_input_option({'job-configuration-details': {'module': 'data_science', 'class': 'JobConfigurationDetails'}, 'job-environment-configuration-details': {'module': 'data_science', 'class': 'JobEnvironmentConfigurationDetails'}, 'job-log-configuration-details': {'module': 'data_science', 'class': 'JobLogConfigurationDetails'}, 'job-storage-mount-configuration-details-list': {'module': 'data_science', 'class': 'list[StorageMountConfigurationDetails]'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}, 'job-infrastructure-configuration-details-job-shape-config-details': {'module': 'data_science', 'class': 'JobShapeConfigDetails'}})
|
|
1848
|
+
@json_skeleton_utils.get_cli_json_input_option({'job-configuration-details': {'module': 'data_science', 'class': 'JobConfigurationDetails'}, 'job-environment-configuration-details': {'module': 'data_science', 'class': 'JobEnvironmentConfigurationDetails'}, 'job-log-configuration-details': {'module': 'data_science', 'class': 'JobLogConfigurationDetails'}, 'job-storage-mount-configuration-details-list': {'module': 'data_science', 'class': 'list[StorageMountConfigurationDetails]'}, 'job-node-configuration-details': {'module': 'data_science', 'class': 'JobNodeConfigurationDetails'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}, 'job-infrastructure-configuration-details-job-shape-config-details': {'module': 'data_science', 'class': 'JobShapeConfigDetails'}})
|
|
1641
1849
|
@cli_util.help_option
|
|
1642
1850
|
@click.pass_context
|
|
1643
|
-
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'job-configuration-details': {'module': 'data_science', 'class': 'JobConfigurationDetails'}, 'job-environment-configuration-details': {'module': 'data_science', 'class': 'JobEnvironmentConfigurationDetails'}, 'job-log-configuration-details': {'module': 'data_science', 'class': 'JobLogConfigurationDetails'}, 'job-storage-mount-configuration-details-list': {'module': 'data_science', 'class': 'list[StorageMountConfigurationDetails]'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}, 'job-infrastructure-configuration-details-job-shape-config-details': {'module': 'data_science', 'class': 'JobShapeConfigDetails'}}, output_type={'module': 'data_science', 'class': 'Job'})
|
|
1851
|
+
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'job-configuration-details': {'module': 'data_science', 'class': 'JobConfigurationDetails'}, 'job-environment-configuration-details': {'module': 'data_science', 'class': 'JobEnvironmentConfigurationDetails'}, 'job-log-configuration-details': {'module': 'data_science', 'class': 'JobLogConfigurationDetails'}, 'job-storage-mount-configuration-details-list': {'module': 'data_science', 'class': 'list[StorageMountConfigurationDetails]'}, 'job-node-configuration-details': {'module': 'data_science', 'class': 'JobNodeConfigurationDetails'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}, 'job-infrastructure-configuration-details-job-shape-config-details': {'module': 'data_science', 'class': 'JobShapeConfigDetails'}}, output_type={'module': 'data_science', 'class': 'Job'})
|
|
1644
1852
|
@cli_util.wrap_exceptions
|
|
1645
|
-
def
|
|
1853
|
+
def create_job_managed_egress_standalone_job_infrastructure_configuration_details(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_seconds, project_id, compartment_id, job_infrastructure_configuration_details_shape_name, job_infrastructure_configuration_details_block_storage_size_in_gbs, display_name, description, job_configuration_details, job_environment_configuration_details, job_log_configuration_details, job_storage_mount_configuration_details_list, job_node_configuration_details, freeform_tags, defined_tags, job_infrastructure_configuration_details_job_shape_config_details):
|
|
1646
1854
|
|
|
1647
1855
|
kwargs = {}
|
|
1648
1856
|
kwargs['opc_request_id'] = cli_util.use_or_generate_request_id(ctx.obj['request_id'])
|
|
@@ -1651,9 +1859,7 @@ def create_job_standalone_job_infrastructure_configuration_details(ctx, from_jso
|
|
|
1651
1859
|
_details['jobInfrastructureConfigurationDetails'] = {}
|
|
1652
1860
|
_details['projectId'] = project_id
|
|
1653
1861
|
_details['compartmentId'] = compartment_id
|
|
1654
|
-
_details['jobConfigurationDetails'] = cli_util.parse_json_parameter("job_configuration_details", job_configuration_details)
|
|
1655
1862
|
_details['jobInfrastructureConfigurationDetails']['shapeName'] = job_infrastructure_configuration_details_shape_name
|
|
1656
|
-
_details['jobInfrastructureConfigurationDetails']['subnetId'] = job_infrastructure_configuration_details_subnet_id
|
|
1657
1863
|
_details['jobInfrastructureConfigurationDetails']['blockStorageSizeInGBs'] = job_infrastructure_configuration_details_block_storage_size_in_gbs
|
|
1658
1864
|
|
|
1659
1865
|
if display_name is not None:
|
|
@@ -1662,6 +1868,9 @@ def create_job_standalone_job_infrastructure_configuration_details(ctx, from_jso
|
|
|
1662
1868
|
if description is not None:
|
|
1663
1869
|
_details['description'] = description
|
|
1664
1870
|
|
|
1871
|
+
if job_configuration_details is not None:
|
|
1872
|
+
_details['jobConfigurationDetails'] = cli_util.parse_json_parameter("job_configuration_details", job_configuration_details)
|
|
1873
|
+
|
|
1665
1874
|
if job_environment_configuration_details is not None:
|
|
1666
1875
|
_details['jobEnvironmentConfigurationDetails'] = cli_util.parse_json_parameter("job_environment_configuration_details", job_environment_configuration_details)
|
|
1667
1876
|
|
|
@@ -1671,6 +1880,9 @@ def create_job_standalone_job_infrastructure_configuration_details(ctx, from_jso
|
|
|
1671
1880
|
if job_storage_mount_configuration_details_list is not None:
|
|
1672
1881
|
_details['jobStorageMountConfigurationDetailsList'] = cli_util.parse_json_parameter("job_storage_mount_configuration_details_list", job_storage_mount_configuration_details_list)
|
|
1673
1882
|
|
|
1883
|
+
if job_node_configuration_details is not None:
|
|
1884
|
+
_details['jobNodeConfigurationDetails'] = cli_util.parse_json_parameter("job_node_configuration_details", job_node_configuration_details)
|
|
1885
|
+
|
|
1674
1886
|
if freeform_tags is not None:
|
|
1675
1887
|
_details['freeformTags'] = cli_util.parse_json_parameter("freeform_tags", freeform_tags)
|
|
1676
1888
|
|
|
@@ -1680,7 +1892,7 @@ def create_job_standalone_job_infrastructure_configuration_details(ctx, from_jso
|
|
|
1680
1892
|
if job_infrastructure_configuration_details_job_shape_config_details is not None:
|
|
1681
1893
|
_details['jobInfrastructureConfigurationDetails']['jobShapeConfigDetails'] = cli_util.parse_json_parameter("job_infrastructure_configuration_details_job_shape_config_details", job_infrastructure_configuration_details_job_shape_config_details)
|
|
1682
1894
|
|
|
1683
|
-
_details['jobInfrastructureConfigurationDetails']['jobInfrastructureType'] = '
|
|
1895
|
+
_details['jobInfrastructureConfigurationDetails']['jobInfrastructureType'] = 'ME_STANDALONE'
|
|
1684
1896
|
|
|
1685
1897
|
client = cli_util.build_client('data_science', 'data_science', ctx)
|
|
1686
1898
|
result = client.create_job(
|
|
@@ -1713,44 +1925,44 @@ def create_job_standalone_job_infrastructure_configuration_details(ctx, from_jso
|
|
|
1713
1925
|
cli_util.render_response(result, ctx)
|
|
1714
1926
|
|
|
1715
1927
|
|
|
1716
|
-
@job_group.command(name=cli_util.override('data_science.
|
|
1928
|
+
@job_group.command(name=cli_util.override('data_science.create_job_standalone_job_infrastructure_configuration_details.command_name', 'create-job-standalone-job-infrastructure-configuration-details'), help=u"""Creates a job. \n[Command Reference](createJob)""")
|
|
1717
1929
|
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate the job with.""")
|
|
1718
1930
|
@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the job.""")
|
|
1719
|
-
@cli_util.option('--job-configuration-details', required=True,
|
|
1720
|
-
@cli_util.option('--job-infrastructure-configuration-details', required=True,
|
|
1721
|
-
@cli_util.option('--job-
|
|
1931
|
+
@cli_util.option('--job-infrastructure-configuration-details-shape-name', required=True, help=u"""The shape used to launch the job run instances.""")
|
|
1932
|
+
@cli_util.option('--job-infrastructure-configuration-details-subnet-id', required=True, help=u"""The subnet to create a secondary vnic in to attach to the instance running the job""")
|
|
1933
|
+
@cli_util.option('--job-infrastructure-configuration-details-block-storage-size-in-gbs', required=True, type=click.INT, help=u"""The size of the block storage volume to attach to the instance running the job""")
|
|
1722
1934
|
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource.""")
|
|
1723
1935
|
@cli_util.option('--description', help=u"""A short description of the job.""")
|
|
1936
|
+
@cli_util.option('--job-configuration-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1937
|
+
@cli_util.option('--job-environment-configuration-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1724
1938
|
@cli_util.option('--job-log-configuration-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1725
1939
|
@cli_util.option('--job-storage-mount-configuration-details-list', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Collection of JobStorageMountConfigurationDetails.
|
|
1726
1940
|
|
|
1727
1941
|
This option is a JSON list with items of type StorageMountConfigurationDetails. For documentation on StorageMountConfigurationDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/datascience/20190101/datatypes/StorageMountConfigurationDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1942
|
+
@cli_util.option('--job-node-configuration-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1728
1943
|
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. See [Resource Tags]. Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1729
1944
|
@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. See [Resource Tags]. Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1730
|
-
@cli_util.option('--job-
|
|
1731
|
-
@cli_util.option('--job-environment-configuration-details-entrypoint', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The container image run [ENTRYPOINT] as a list of strings. Accept the `CMD` as extra arguments. The combined size of `CMD` and `ENTRYPOINT` must be less than 2048 bytes. More information on how `CMD` and `ENTRYPOINT` interact are [here].""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1732
|
-
@cli_util.option('--job-environment-configuration-details-image-digest', help=u"""The digest of the container image. For example, `sha256:881303a6b2738834d795a32b4a98eb0e5e3d1cad590a712d1e04f9b2fa90a030`""")
|
|
1733
|
-
@cli_util.option('--job-environment-configuration-details-image-signature-id', help=u"""OCID of the container image signature""")
|
|
1945
|
+
@cli_util.option('--job-infrastructure-configuration-details-job-shape-config-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1734
1946
|
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "DELETING", "FAILED", "DELETED"]), 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.""")
|
|
1735
1947
|
@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.""")
|
|
1736
1948
|
@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.""")
|
|
1737
|
-
@json_skeleton_utils.get_cli_json_input_option({'job-configuration-details': {'module': 'data_science', 'class': 'JobConfigurationDetails'}, 'job-
|
|
1949
|
+
@json_skeleton_utils.get_cli_json_input_option({'job-configuration-details': {'module': 'data_science', 'class': 'JobConfigurationDetails'}, 'job-environment-configuration-details': {'module': 'data_science', 'class': 'JobEnvironmentConfigurationDetails'}, 'job-log-configuration-details': {'module': 'data_science', 'class': 'JobLogConfigurationDetails'}, 'job-storage-mount-configuration-details-list': {'module': 'data_science', 'class': 'list[StorageMountConfigurationDetails]'}, 'job-node-configuration-details': {'module': 'data_science', 'class': 'JobNodeConfigurationDetails'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}, 'job-infrastructure-configuration-details-job-shape-config-details': {'module': 'data_science', 'class': 'JobShapeConfigDetails'}})
|
|
1738
1950
|
@cli_util.help_option
|
|
1739
1951
|
@click.pass_context
|
|
1740
|
-
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'job-configuration-details': {'module': 'data_science', 'class': 'JobConfigurationDetails'}, 'job-
|
|
1952
|
+
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'job-configuration-details': {'module': 'data_science', 'class': 'JobConfigurationDetails'}, 'job-environment-configuration-details': {'module': 'data_science', 'class': 'JobEnvironmentConfigurationDetails'}, 'job-log-configuration-details': {'module': 'data_science', 'class': 'JobLogConfigurationDetails'}, 'job-storage-mount-configuration-details-list': {'module': 'data_science', 'class': 'list[StorageMountConfigurationDetails]'}, 'job-node-configuration-details': {'module': 'data_science', 'class': 'JobNodeConfigurationDetails'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}, 'job-infrastructure-configuration-details-job-shape-config-details': {'module': 'data_science', 'class': 'JobShapeConfigDetails'}}, output_type={'module': 'data_science', 'class': 'Job'})
|
|
1741
1953
|
@cli_util.wrap_exceptions
|
|
1742
|
-
def
|
|
1954
|
+
def create_job_standalone_job_infrastructure_configuration_details(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_seconds, project_id, compartment_id, job_infrastructure_configuration_details_shape_name, job_infrastructure_configuration_details_subnet_id, job_infrastructure_configuration_details_block_storage_size_in_gbs, display_name, description, job_configuration_details, job_environment_configuration_details, job_log_configuration_details, job_storage_mount_configuration_details_list, job_node_configuration_details, freeform_tags, defined_tags, job_infrastructure_configuration_details_job_shape_config_details):
|
|
1743
1955
|
|
|
1744
1956
|
kwargs = {}
|
|
1745
1957
|
kwargs['opc_request_id'] = cli_util.use_or_generate_request_id(ctx.obj['request_id'])
|
|
1746
1958
|
|
|
1747
1959
|
_details = {}
|
|
1748
|
-
_details['
|
|
1960
|
+
_details['jobInfrastructureConfigurationDetails'] = {}
|
|
1749
1961
|
_details['projectId'] = project_id
|
|
1750
1962
|
_details['compartmentId'] = compartment_id
|
|
1751
|
-
_details['
|
|
1752
|
-
_details['jobInfrastructureConfigurationDetails'] =
|
|
1753
|
-
_details['
|
|
1963
|
+
_details['jobInfrastructureConfigurationDetails']['shapeName'] = job_infrastructure_configuration_details_shape_name
|
|
1964
|
+
_details['jobInfrastructureConfigurationDetails']['subnetId'] = job_infrastructure_configuration_details_subnet_id
|
|
1965
|
+
_details['jobInfrastructureConfigurationDetails']['blockStorageSizeInGBs'] = job_infrastructure_configuration_details_block_storage_size_in_gbs
|
|
1754
1966
|
|
|
1755
1967
|
if display_name is not None:
|
|
1756
1968
|
_details['displayName'] = display_name
|
|
@@ -1758,31 +1970,31 @@ def create_job_ocir_container_job_environment_configuration_details(ctx, from_js
|
|
|
1758
1970
|
if description is not None:
|
|
1759
1971
|
_details['description'] = description
|
|
1760
1972
|
|
|
1973
|
+
if job_configuration_details is not None:
|
|
1974
|
+
_details['jobConfigurationDetails'] = cli_util.parse_json_parameter("job_configuration_details", job_configuration_details)
|
|
1975
|
+
|
|
1976
|
+
if job_environment_configuration_details is not None:
|
|
1977
|
+
_details['jobEnvironmentConfigurationDetails'] = cli_util.parse_json_parameter("job_environment_configuration_details", job_environment_configuration_details)
|
|
1978
|
+
|
|
1761
1979
|
if job_log_configuration_details is not None:
|
|
1762
1980
|
_details['jobLogConfigurationDetails'] = cli_util.parse_json_parameter("job_log_configuration_details", job_log_configuration_details)
|
|
1763
1981
|
|
|
1764
1982
|
if job_storage_mount_configuration_details_list is not None:
|
|
1765
1983
|
_details['jobStorageMountConfigurationDetailsList'] = cli_util.parse_json_parameter("job_storage_mount_configuration_details_list", job_storage_mount_configuration_details_list)
|
|
1766
1984
|
|
|
1985
|
+
if job_node_configuration_details is not None:
|
|
1986
|
+
_details['jobNodeConfigurationDetails'] = cli_util.parse_json_parameter("job_node_configuration_details", job_node_configuration_details)
|
|
1987
|
+
|
|
1767
1988
|
if freeform_tags is not None:
|
|
1768
1989
|
_details['freeformTags'] = cli_util.parse_json_parameter("freeform_tags", freeform_tags)
|
|
1769
1990
|
|
|
1770
1991
|
if defined_tags is not None:
|
|
1771
1992
|
_details['definedTags'] = cli_util.parse_json_parameter("defined_tags", defined_tags)
|
|
1772
1993
|
|
|
1773
|
-
if
|
|
1774
|
-
_details['
|
|
1775
|
-
|
|
1776
|
-
if job_environment_configuration_details_entrypoint is not None:
|
|
1777
|
-
_details['jobEnvironmentConfigurationDetails']['entrypoint'] = cli_util.parse_json_parameter("job_environment_configuration_details_entrypoint", job_environment_configuration_details_entrypoint)
|
|
1778
|
-
|
|
1779
|
-
if job_environment_configuration_details_image_digest is not None:
|
|
1780
|
-
_details['jobEnvironmentConfigurationDetails']['imageDigest'] = job_environment_configuration_details_image_digest
|
|
1781
|
-
|
|
1782
|
-
if job_environment_configuration_details_image_signature_id is not None:
|
|
1783
|
-
_details['jobEnvironmentConfigurationDetails']['imageSignatureId'] = job_environment_configuration_details_image_signature_id
|
|
1994
|
+
if job_infrastructure_configuration_details_job_shape_config_details is not None:
|
|
1995
|
+
_details['jobInfrastructureConfigurationDetails']['jobShapeConfigDetails'] = cli_util.parse_json_parameter("job_infrastructure_configuration_details_job_shape_config_details", job_infrastructure_configuration_details_job_shape_config_details)
|
|
1784
1996
|
|
|
1785
|
-
_details['
|
|
1997
|
+
_details['jobInfrastructureConfigurationDetails']['jobInfrastructureType'] = 'STANDALONE'
|
|
1786
1998
|
|
|
1787
1999
|
client = cli_util.build_client('data_science', 'data_science', ctx)
|
|
1788
2000
|
result = client.create_job(
|
|
@@ -1791,7 +2003,826 @@ def create_job_ocir_container_job_environment_configuration_details(ctx, from_js
|
|
|
1791
2003
|
)
|
|
1792
2004
|
if wait_for_state:
|
|
1793
2005
|
|
|
1794
|
-
if hasattr(client, 'get_job') and callable(getattr(client, 'get_job')):
|
|
2006
|
+
if hasattr(client, 'get_job') and callable(getattr(client, 'get_job')):
|
|
2007
|
+
try:
|
|
2008
|
+
wait_period_kwargs = {}
|
|
2009
|
+
if max_wait_seconds is not None:
|
|
2010
|
+
wait_period_kwargs['max_wait_seconds'] = max_wait_seconds
|
|
2011
|
+
if wait_interval_seconds is not None:
|
|
2012
|
+
wait_period_kwargs['max_interval_seconds'] = wait_interval_seconds
|
|
2013
|
+
|
|
2014
|
+
click.echo('Action completed. Waiting until the resource has entered state: {}'.format(wait_for_state), file=sys.stderr)
|
|
2015
|
+
result = oci.wait_until(client, client.get_job(result.data.id), 'lifecycle_state', wait_for_state, **wait_period_kwargs)
|
|
2016
|
+
except oci.exceptions.MaximumWaitTimeExceeded as e:
|
|
2017
|
+
# If we fail, we should show an error, but we should still provide the information to the customer
|
|
2018
|
+
click.echo('Failed to wait until the resource entered the specified state. Outputting last known resource state', file=sys.stderr)
|
|
2019
|
+
cli_util.render_response(result, ctx)
|
|
2020
|
+
sys.exit(2)
|
|
2021
|
+
except Exception:
|
|
2022
|
+
click.echo('Encountered error while waiting for resource to enter the specified state. Outputting last known resource state', file=sys.stderr)
|
|
2023
|
+
cli_util.render_response(result, ctx)
|
|
2024
|
+
raise
|
|
2025
|
+
else:
|
|
2026
|
+
click.echo('Unable to wait for the resource to enter the specified state', file=sys.stderr)
|
|
2027
|
+
cli_util.render_response(result, ctx)
|
|
2028
|
+
|
|
2029
|
+
|
|
2030
|
+
@job_group.command(name=cli_util.override('data_science.create_job_ocir_container_job_environment_configuration_details.command_name', 'create-job-ocir-container-job-environment-configuration-details'), help=u"""Creates a job. \n[Command Reference](createJob)""")
|
|
2031
|
+
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate the job with.""")
|
|
2032
|
+
@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the job.""")
|
|
2033
|
+
@cli_util.option('--job-environment-configuration-details-image', required=True, help=u"""The full path to the Oracle Container Repository (OCIR) registry, image, and tag in a canonical format. Acceptable format: `<region>.ocir.io/<registry>/<image>:<tag>` `<region>.ocir.io/<registry>/<image>:<tag>@digest`""")
|
|
2034
|
+
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource.""")
|
|
2035
|
+
@cli_util.option('--description', help=u"""A short description of the job.""")
|
|
2036
|
+
@cli_util.option('--job-configuration-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2037
|
+
@cli_util.option('--job-infrastructure-configuration-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2038
|
+
@cli_util.option('--job-log-configuration-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2039
|
+
@cli_util.option('--job-storage-mount-configuration-details-list', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Collection of JobStorageMountConfigurationDetails.
|
|
2040
|
+
|
|
2041
|
+
This option is a JSON list with items of type StorageMountConfigurationDetails. For documentation on StorageMountConfigurationDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/datascience/20190101/datatypes/StorageMountConfigurationDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2042
|
+
@cli_util.option('--job-node-configuration-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2043
|
+
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. See [Resource Tags]. Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2044
|
+
@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. See [Resource Tags]. Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2045
|
+
@cli_util.option('--job-environment-configuration-details-cmd', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The container image run [CMD] as a list of strings. Use `CMD` as arguments to the `ENTRYPOINT` or the only command to run in the absence of an `ENTRYPOINT`. The combined size of `CMD` and `ENTRYPOINT` must be less than 2048 bytes.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2046
|
+
@cli_util.option('--job-environment-configuration-details-entrypoint', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The container image run [ENTRYPOINT] as a list of strings. Accept the `CMD` as extra arguments. The combined size of `CMD` and `ENTRYPOINT` must be less than 2048 bytes. More information on how `CMD` and `ENTRYPOINT` interact are [here].""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2047
|
+
@cli_util.option('--job-environment-configuration-details-image-digest', help=u"""The digest of the container image. For example, `sha256:881303a6b2738834d795a32b4a98eb0e5e3d1cad590a712d1e04f9b2fa90a030`""")
|
|
2048
|
+
@cli_util.option('--job-environment-configuration-details-image-signature-id', help=u"""OCID of the container image signature""")
|
|
2049
|
+
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "DELETING", "FAILED", "DELETED"]), 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.""")
|
|
2050
|
+
@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.""")
|
|
2051
|
+
@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.""")
|
|
2052
|
+
@json_skeleton_utils.get_cli_json_input_option({'job-configuration-details': {'module': 'data_science', 'class': 'JobConfigurationDetails'}, 'job-infrastructure-configuration-details': {'module': 'data_science', 'class': 'JobInfrastructureConfigurationDetails'}, 'job-log-configuration-details': {'module': 'data_science', 'class': 'JobLogConfigurationDetails'}, 'job-storage-mount-configuration-details-list': {'module': 'data_science', 'class': 'list[StorageMountConfigurationDetails]'}, 'job-node-configuration-details': {'module': 'data_science', 'class': 'JobNodeConfigurationDetails'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}, 'job-environment-configuration-details-cmd': {'module': 'data_science', 'class': 'list[string]'}, 'job-environment-configuration-details-entrypoint': {'module': 'data_science', 'class': 'list[string]'}})
|
|
2053
|
+
@cli_util.help_option
|
|
2054
|
+
@click.pass_context
|
|
2055
|
+
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'job-configuration-details': {'module': 'data_science', 'class': 'JobConfigurationDetails'}, 'job-infrastructure-configuration-details': {'module': 'data_science', 'class': 'JobInfrastructureConfigurationDetails'}, 'job-log-configuration-details': {'module': 'data_science', 'class': 'JobLogConfigurationDetails'}, 'job-storage-mount-configuration-details-list': {'module': 'data_science', 'class': 'list[StorageMountConfigurationDetails]'}, 'job-node-configuration-details': {'module': 'data_science', 'class': 'JobNodeConfigurationDetails'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}, 'job-environment-configuration-details-cmd': {'module': 'data_science', 'class': 'list[string]'}, 'job-environment-configuration-details-entrypoint': {'module': 'data_science', 'class': 'list[string]'}}, output_type={'module': 'data_science', 'class': 'Job'})
|
|
2056
|
+
@cli_util.wrap_exceptions
|
|
2057
|
+
def create_job_ocir_container_job_environment_configuration_details(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_seconds, project_id, compartment_id, job_environment_configuration_details_image, display_name, description, job_configuration_details, job_infrastructure_configuration_details, job_log_configuration_details, job_storage_mount_configuration_details_list, job_node_configuration_details, freeform_tags, defined_tags, job_environment_configuration_details_cmd, job_environment_configuration_details_entrypoint, job_environment_configuration_details_image_digest, job_environment_configuration_details_image_signature_id):
|
|
2058
|
+
|
|
2059
|
+
kwargs = {}
|
|
2060
|
+
kwargs['opc_request_id'] = cli_util.use_or_generate_request_id(ctx.obj['request_id'])
|
|
2061
|
+
|
|
2062
|
+
_details = {}
|
|
2063
|
+
_details['jobEnvironmentConfigurationDetails'] = {}
|
|
2064
|
+
_details['projectId'] = project_id
|
|
2065
|
+
_details['compartmentId'] = compartment_id
|
|
2066
|
+
_details['jobEnvironmentConfigurationDetails']['image'] = job_environment_configuration_details_image
|
|
2067
|
+
|
|
2068
|
+
if display_name is not None:
|
|
2069
|
+
_details['displayName'] = display_name
|
|
2070
|
+
|
|
2071
|
+
if description is not None:
|
|
2072
|
+
_details['description'] = description
|
|
2073
|
+
|
|
2074
|
+
if job_configuration_details is not None:
|
|
2075
|
+
_details['jobConfigurationDetails'] = cli_util.parse_json_parameter("job_configuration_details", job_configuration_details)
|
|
2076
|
+
|
|
2077
|
+
if job_infrastructure_configuration_details is not None:
|
|
2078
|
+
_details['jobInfrastructureConfigurationDetails'] = cli_util.parse_json_parameter("job_infrastructure_configuration_details", job_infrastructure_configuration_details)
|
|
2079
|
+
|
|
2080
|
+
if job_log_configuration_details is not None:
|
|
2081
|
+
_details['jobLogConfigurationDetails'] = cli_util.parse_json_parameter("job_log_configuration_details", job_log_configuration_details)
|
|
2082
|
+
|
|
2083
|
+
if job_storage_mount_configuration_details_list is not None:
|
|
2084
|
+
_details['jobStorageMountConfigurationDetailsList'] = cli_util.parse_json_parameter("job_storage_mount_configuration_details_list", job_storage_mount_configuration_details_list)
|
|
2085
|
+
|
|
2086
|
+
if job_node_configuration_details is not None:
|
|
2087
|
+
_details['jobNodeConfigurationDetails'] = cli_util.parse_json_parameter("job_node_configuration_details", job_node_configuration_details)
|
|
2088
|
+
|
|
2089
|
+
if freeform_tags is not None:
|
|
2090
|
+
_details['freeformTags'] = cli_util.parse_json_parameter("freeform_tags", freeform_tags)
|
|
2091
|
+
|
|
2092
|
+
if defined_tags is not None:
|
|
2093
|
+
_details['definedTags'] = cli_util.parse_json_parameter("defined_tags", defined_tags)
|
|
2094
|
+
|
|
2095
|
+
if job_environment_configuration_details_cmd is not None:
|
|
2096
|
+
_details['jobEnvironmentConfigurationDetails']['cmd'] = cli_util.parse_json_parameter("job_environment_configuration_details_cmd", job_environment_configuration_details_cmd)
|
|
2097
|
+
|
|
2098
|
+
if job_environment_configuration_details_entrypoint is not None:
|
|
2099
|
+
_details['jobEnvironmentConfigurationDetails']['entrypoint'] = cli_util.parse_json_parameter("job_environment_configuration_details_entrypoint", job_environment_configuration_details_entrypoint)
|
|
2100
|
+
|
|
2101
|
+
if job_environment_configuration_details_image_digest is not None:
|
|
2102
|
+
_details['jobEnvironmentConfigurationDetails']['imageDigest'] = job_environment_configuration_details_image_digest
|
|
2103
|
+
|
|
2104
|
+
if job_environment_configuration_details_image_signature_id is not None:
|
|
2105
|
+
_details['jobEnvironmentConfigurationDetails']['imageSignatureId'] = job_environment_configuration_details_image_signature_id
|
|
2106
|
+
|
|
2107
|
+
_details['jobEnvironmentConfigurationDetails']['jobEnvironmentType'] = 'OCIR_CONTAINER'
|
|
2108
|
+
|
|
2109
|
+
client = cli_util.build_client('data_science', 'data_science', ctx)
|
|
2110
|
+
result = client.create_job(
|
|
2111
|
+
create_job_details=_details,
|
|
2112
|
+
**kwargs
|
|
2113
|
+
)
|
|
2114
|
+
if wait_for_state:
|
|
2115
|
+
|
|
2116
|
+
if hasattr(client, 'get_job') and callable(getattr(client, 'get_job')):
|
|
2117
|
+
try:
|
|
2118
|
+
wait_period_kwargs = {}
|
|
2119
|
+
if max_wait_seconds is not None:
|
|
2120
|
+
wait_period_kwargs['max_wait_seconds'] = max_wait_seconds
|
|
2121
|
+
if wait_interval_seconds is not None:
|
|
2122
|
+
wait_period_kwargs['max_interval_seconds'] = wait_interval_seconds
|
|
2123
|
+
|
|
2124
|
+
click.echo('Action completed. Waiting until the resource has entered state: {}'.format(wait_for_state), file=sys.stderr)
|
|
2125
|
+
result = oci.wait_until(client, client.get_job(result.data.id), 'lifecycle_state', wait_for_state, **wait_period_kwargs)
|
|
2126
|
+
except oci.exceptions.MaximumWaitTimeExceeded as e:
|
|
2127
|
+
# If we fail, we should show an error, but we should still provide the information to the customer
|
|
2128
|
+
click.echo('Failed to wait until the resource entered the specified state. Outputting last known resource state', file=sys.stderr)
|
|
2129
|
+
cli_util.render_response(result, ctx)
|
|
2130
|
+
sys.exit(2)
|
|
2131
|
+
except Exception:
|
|
2132
|
+
click.echo('Encountered error while waiting for resource to enter the specified state. Outputting last known resource state', file=sys.stderr)
|
|
2133
|
+
cli_util.render_response(result, ctx)
|
|
2134
|
+
raise
|
|
2135
|
+
else:
|
|
2136
|
+
click.echo('Unable to wait for the resource to enter the specified state', file=sys.stderr)
|
|
2137
|
+
cli_util.render_response(result, ctx)
|
|
2138
|
+
|
|
2139
|
+
|
|
2140
|
+
@job_group.command(name=cli_util.override('data_science.create_job_multi_node_job_node_configuration_details.command_name', 'create-job-multi-node-job-node-configuration-details'), help=u"""Creates a job. \n[Command Reference](createJob)""")
|
|
2141
|
+
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate the job with.""")
|
|
2142
|
+
@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the job.""")
|
|
2143
|
+
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource.""")
|
|
2144
|
+
@cli_util.option('--description', help=u"""A short description of the job.""")
|
|
2145
|
+
@cli_util.option('--job-configuration-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2146
|
+
@cli_util.option('--job-infrastructure-configuration-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2147
|
+
@cli_util.option('--job-environment-configuration-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2148
|
+
@cli_util.option('--job-log-configuration-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2149
|
+
@cli_util.option('--job-storage-mount-configuration-details-list', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Collection of JobStorageMountConfigurationDetails.
|
|
2150
|
+
|
|
2151
|
+
This option is a JSON list with items of type StorageMountConfigurationDetails. For documentation on StorageMountConfigurationDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/datascience/20190101/datatypes/StorageMountConfigurationDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2152
|
+
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. See [Resource Tags]. Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2153
|
+
@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. See [Resource Tags]. Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2154
|
+
@cli_util.option('--job-node-configuration-details-startup-order', type=custom_types.CliCaseInsensitiveChoice(["IN_ORDER", "IN_PARALLEL"]), help=u"""The execution order of node groups""")
|
|
2155
|
+
@cli_util.option('--job-node-configuration-details-maximum-runtime-in-minutes', type=click.INT, help=u"""A time bound for the execution of the job run. Timer starts when the job run is in progress.""")
|
|
2156
|
+
@cli_util.option('--job-node-configuration-details-job-network-configuration', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2157
|
+
@cli_util.option('--job-node-configuration-details-job-node-group-configuration-details-list', type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of JobNodeGroupConfigurationDetails
|
|
2158
|
+
|
|
2159
|
+
This option is a JSON list with items of type JobNodeGroupConfigurationDetails. For documentation on JobNodeGroupConfigurationDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/datascience/20190101/datatypes/JobNodeGroupConfigurationDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2160
|
+
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "DELETING", "FAILED", "DELETED"]), 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.""")
|
|
2161
|
+
@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.""")
|
|
2162
|
+
@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.""")
|
|
2163
|
+
@json_skeleton_utils.get_cli_json_input_option({'job-configuration-details': {'module': 'data_science', 'class': 'JobConfigurationDetails'}, 'job-infrastructure-configuration-details': {'module': 'data_science', 'class': 'JobInfrastructureConfigurationDetails'}, 'job-environment-configuration-details': {'module': 'data_science', 'class': 'JobEnvironmentConfigurationDetails'}, 'job-log-configuration-details': {'module': 'data_science', 'class': 'JobLogConfigurationDetails'}, 'job-storage-mount-configuration-details-list': {'module': 'data_science', 'class': 'list[StorageMountConfigurationDetails]'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}, 'job-node-configuration-details-job-network-configuration': {'module': 'data_science', 'class': 'JobNetworkConfiguration'}, 'job-node-configuration-details-job-node-group-configuration-details-list': {'module': 'data_science', 'class': 'list[JobNodeGroupConfigurationDetails]'}})
|
|
2164
|
+
@cli_util.help_option
|
|
2165
|
+
@click.pass_context
|
|
2166
|
+
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'job-configuration-details': {'module': 'data_science', 'class': 'JobConfigurationDetails'}, 'job-infrastructure-configuration-details': {'module': 'data_science', 'class': 'JobInfrastructureConfigurationDetails'}, 'job-environment-configuration-details': {'module': 'data_science', 'class': 'JobEnvironmentConfigurationDetails'}, 'job-log-configuration-details': {'module': 'data_science', 'class': 'JobLogConfigurationDetails'}, 'job-storage-mount-configuration-details-list': {'module': 'data_science', 'class': 'list[StorageMountConfigurationDetails]'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}, 'job-node-configuration-details-job-network-configuration': {'module': 'data_science', 'class': 'JobNetworkConfiguration'}, 'job-node-configuration-details-job-node-group-configuration-details-list': {'module': 'data_science', 'class': 'list[JobNodeGroupConfigurationDetails]'}}, output_type={'module': 'data_science', 'class': 'Job'})
|
|
2167
|
+
@cli_util.wrap_exceptions
|
|
2168
|
+
def create_job_multi_node_job_node_configuration_details(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_seconds, project_id, compartment_id, display_name, description, job_configuration_details, job_infrastructure_configuration_details, job_environment_configuration_details, job_log_configuration_details, job_storage_mount_configuration_details_list, freeform_tags, defined_tags, job_node_configuration_details_startup_order, job_node_configuration_details_maximum_runtime_in_minutes, job_node_configuration_details_job_network_configuration, job_node_configuration_details_job_node_group_configuration_details_list):
|
|
2169
|
+
|
|
2170
|
+
kwargs = {}
|
|
2171
|
+
kwargs['opc_request_id'] = cli_util.use_or_generate_request_id(ctx.obj['request_id'])
|
|
2172
|
+
|
|
2173
|
+
_details = {}
|
|
2174
|
+
_details['jobNodeConfigurationDetails'] = {}
|
|
2175
|
+
_details['projectId'] = project_id
|
|
2176
|
+
_details['compartmentId'] = compartment_id
|
|
2177
|
+
|
|
2178
|
+
if display_name is not None:
|
|
2179
|
+
_details['displayName'] = display_name
|
|
2180
|
+
|
|
2181
|
+
if description is not None:
|
|
2182
|
+
_details['description'] = description
|
|
2183
|
+
|
|
2184
|
+
if job_configuration_details is not None:
|
|
2185
|
+
_details['jobConfigurationDetails'] = cli_util.parse_json_parameter("job_configuration_details", job_configuration_details)
|
|
2186
|
+
|
|
2187
|
+
if job_infrastructure_configuration_details is not None:
|
|
2188
|
+
_details['jobInfrastructureConfigurationDetails'] = cli_util.parse_json_parameter("job_infrastructure_configuration_details", job_infrastructure_configuration_details)
|
|
2189
|
+
|
|
2190
|
+
if job_environment_configuration_details is not None:
|
|
2191
|
+
_details['jobEnvironmentConfigurationDetails'] = cli_util.parse_json_parameter("job_environment_configuration_details", job_environment_configuration_details)
|
|
2192
|
+
|
|
2193
|
+
if job_log_configuration_details is not None:
|
|
2194
|
+
_details['jobLogConfigurationDetails'] = cli_util.parse_json_parameter("job_log_configuration_details", job_log_configuration_details)
|
|
2195
|
+
|
|
2196
|
+
if job_storage_mount_configuration_details_list is not None:
|
|
2197
|
+
_details['jobStorageMountConfigurationDetailsList'] = cli_util.parse_json_parameter("job_storage_mount_configuration_details_list", job_storage_mount_configuration_details_list)
|
|
2198
|
+
|
|
2199
|
+
if freeform_tags is not None:
|
|
2200
|
+
_details['freeformTags'] = cli_util.parse_json_parameter("freeform_tags", freeform_tags)
|
|
2201
|
+
|
|
2202
|
+
if defined_tags is not None:
|
|
2203
|
+
_details['definedTags'] = cli_util.parse_json_parameter("defined_tags", defined_tags)
|
|
2204
|
+
|
|
2205
|
+
if job_node_configuration_details_startup_order is not None:
|
|
2206
|
+
_details['jobNodeConfigurationDetails']['startupOrder'] = job_node_configuration_details_startup_order
|
|
2207
|
+
|
|
2208
|
+
if job_node_configuration_details_maximum_runtime_in_minutes is not None:
|
|
2209
|
+
_details['jobNodeConfigurationDetails']['maximumRuntimeInMinutes'] = job_node_configuration_details_maximum_runtime_in_minutes
|
|
2210
|
+
|
|
2211
|
+
if job_node_configuration_details_job_network_configuration is not None:
|
|
2212
|
+
_details['jobNodeConfigurationDetails']['jobNetworkConfiguration'] = cli_util.parse_json_parameter("job_node_configuration_details_job_network_configuration", job_node_configuration_details_job_network_configuration)
|
|
2213
|
+
|
|
2214
|
+
if job_node_configuration_details_job_node_group_configuration_details_list is not None:
|
|
2215
|
+
_details['jobNodeConfigurationDetails']['jobNodeGroupConfigurationDetailsList'] = cli_util.parse_json_parameter("job_node_configuration_details_job_node_group_configuration_details_list", job_node_configuration_details_job_node_group_configuration_details_list)
|
|
2216
|
+
|
|
2217
|
+
_details['jobNodeConfigurationDetails']['jobNodeType'] = 'MULTI_NODE'
|
|
2218
|
+
|
|
2219
|
+
client = cli_util.build_client('data_science', 'data_science', ctx)
|
|
2220
|
+
result = client.create_job(
|
|
2221
|
+
create_job_details=_details,
|
|
2222
|
+
**kwargs
|
|
2223
|
+
)
|
|
2224
|
+
if wait_for_state:
|
|
2225
|
+
|
|
2226
|
+
if hasattr(client, 'get_job') and callable(getattr(client, 'get_job')):
|
|
2227
|
+
try:
|
|
2228
|
+
wait_period_kwargs = {}
|
|
2229
|
+
if max_wait_seconds is not None:
|
|
2230
|
+
wait_period_kwargs['max_wait_seconds'] = max_wait_seconds
|
|
2231
|
+
if wait_interval_seconds is not None:
|
|
2232
|
+
wait_period_kwargs['max_interval_seconds'] = wait_interval_seconds
|
|
2233
|
+
|
|
2234
|
+
click.echo('Action completed. Waiting until the resource has entered state: {}'.format(wait_for_state), file=sys.stderr)
|
|
2235
|
+
result = oci.wait_until(client, client.get_job(result.data.id), 'lifecycle_state', wait_for_state, **wait_period_kwargs)
|
|
2236
|
+
except oci.exceptions.MaximumWaitTimeExceeded as e:
|
|
2237
|
+
# If we fail, we should show an error, but we should still provide the information to the customer
|
|
2238
|
+
click.echo('Failed to wait until the resource entered the specified state. Outputting last known resource state', file=sys.stderr)
|
|
2239
|
+
cli_util.render_response(result, ctx)
|
|
2240
|
+
sys.exit(2)
|
|
2241
|
+
except Exception:
|
|
2242
|
+
click.echo('Encountered error while waiting for resource to enter the specified state. Outputting last known resource state', file=sys.stderr)
|
|
2243
|
+
cli_util.render_response(result, ctx)
|
|
2244
|
+
raise
|
|
2245
|
+
else:
|
|
2246
|
+
click.echo('Unable to wait for the resource to enter the specified state', file=sys.stderr)
|
|
2247
|
+
cli_util.render_response(result, ctx)
|
|
2248
|
+
|
|
2249
|
+
|
|
2250
|
+
@job_group.command(name=cli_util.override('data_science.create_job_artifact.command_name', 'create-job-artifact'), help=u"""Uploads a job artifact. \n[Command Reference](createJobArtifact)""")
|
|
2251
|
+
@cli_util.option('--job-id', required=True, help=u"""The [OCID] of the job.""")
|
|
2252
|
+
@cli_util.option('--job-artifact', required=True, help=u"""The job artifact to upload.""")
|
|
2253
|
+
@cli_util.option('--content-length', type=click.INT, help=u"""The content length of the body.""")
|
|
2254
|
+
@cli_util.option('--content-disposition', help=u"""This header is for specifying a filename during upload. It is used to identify the file type and validate if the file type is supported. Example: `--content-disposition \"attachment; filename=hello-world.py\"`""")
|
|
2255
|
+
@json_skeleton_utils.get_cli_json_input_option({})
|
|
2256
|
+
@cli_util.help_option
|
|
2257
|
+
@click.pass_context
|
|
2258
|
+
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={})
|
|
2259
|
+
@cli_util.wrap_exceptions
|
|
2260
|
+
def create_job_artifact(ctx, from_json, job_id, job_artifact, content_length, content_disposition):
|
|
2261
|
+
|
|
2262
|
+
if isinstance(job_id, six.string_types) and len(job_id.strip()) == 0:
|
|
2263
|
+
raise click.UsageError('Parameter --job-id cannot be whitespace or empty string')
|
|
2264
|
+
|
|
2265
|
+
kwargs = {}
|
|
2266
|
+
if content_length is not None:
|
|
2267
|
+
kwargs['content_length'] = content_length
|
|
2268
|
+
if content_disposition is not None:
|
|
2269
|
+
kwargs['content_disposition'] = content_disposition
|
|
2270
|
+
kwargs['opc_request_id'] = cli_util.use_or_generate_request_id(ctx.obj['request_id'])
|
|
2271
|
+
|
|
2272
|
+
# do not automatically retry operations with binary inputs
|
|
2273
|
+
kwargs['retry_strategy'] = oci.retry.NoneRetryStrategy()
|
|
2274
|
+
|
|
2275
|
+
client = cli_util.build_client('data_science', 'data_science', ctx)
|
|
2276
|
+
result = client.create_job_artifact(
|
|
2277
|
+
job_id=job_id,
|
|
2278
|
+
job_artifact=job_artifact,
|
|
2279
|
+
**kwargs
|
|
2280
|
+
)
|
|
2281
|
+
cli_util.render_response(result, ctx)
|
|
2282
|
+
|
|
2283
|
+
|
|
2284
|
+
@job_run_group.command(name=cli_util.override('data_science.create_job_run.command_name', 'create'), help=u"""Creates a job run. \n[Command Reference](createJobRun)""")
|
|
2285
|
+
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate the job run with.""")
|
|
2286
|
+
@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the job run.""")
|
|
2287
|
+
@cli_util.option('--job-id', required=True, help=u"""The [OCID] of the job to create a run for.""")
|
|
2288
|
+
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource.""")
|
|
2289
|
+
@cli_util.option('--job-configuration-override-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2290
|
+
@cli_util.option('--job-log-configuration-override-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2291
|
+
@cli_util.option('--job-environment-configuration-override-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2292
|
+
@cli_util.option('--job-infrastructure-configuration-override-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2293
|
+
@cli_util.option('--job-node-configuration-override-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2294
|
+
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. See [Resource Tags]. Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2295
|
+
@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. See [Resource Tags]. Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2296
|
+
@cli_util.option('--opc-parent-rpt-url', help=u"""URL to fetch the Resource Principal Token from the parent resource.""")
|
|
2297
|
+
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "DELETED", "NEEDS_ATTENTION"]), 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.""")
|
|
2298
|
+
@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.""")
|
|
2299
|
+
@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.""")
|
|
2300
|
+
@json_skeleton_utils.get_cli_json_input_option({'job-configuration-override-details': {'module': 'data_science', 'class': 'JobConfigurationDetails'}, 'job-log-configuration-override-details': {'module': 'data_science', 'class': 'JobLogConfigurationDetails'}, 'job-environment-configuration-override-details': {'module': 'data_science', 'class': 'JobEnvironmentConfigurationDetails'}, 'job-infrastructure-configuration-override-details': {'module': 'data_science', 'class': 'JobInfrastructureConfigurationDetails'}, 'job-node-configuration-override-details': {'module': 'data_science', 'class': 'JobNodeConfigurationDetails'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}})
|
|
2301
|
+
@cli_util.help_option
|
|
2302
|
+
@click.pass_context
|
|
2303
|
+
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'job-configuration-override-details': {'module': 'data_science', 'class': 'JobConfigurationDetails'}, 'job-log-configuration-override-details': {'module': 'data_science', 'class': 'JobLogConfigurationDetails'}, 'job-environment-configuration-override-details': {'module': 'data_science', 'class': 'JobEnvironmentConfigurationDetails'}, 'job-infrastructure-configuration-override-details': {'module': 'data_science', 'class': 'JobInfrastructureConfigurationDetails'}, 'job-node-configuration-override-details': {'module': 'data_science', 'class': 'JobNodeConfigurationDetails'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}}, output_type={'module': 'data_science', 'class': 'JobRun'})
|
|
2304
|
+
@cli_util.wrap_exceptions
|
|
2305
|
+
def create_job_run(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_seconds, project_id, compartment_id, job_id, display_name, job_configuration_override_details, job_log_configuration_override_details, job_environment_configuration_override_details, job_infrastructure_configuration_override_details, job_node_configuration_override_details, freeform_tags, defined_tags, opc_parent_rpt_url):
|
|
2306
|
+
|
|
2307
|
+
kwargs = {}
|
|
2308
|
+
if opc_parent_rpt_url is not None:
|
|
2309
|
+
kwargs['opc_parent_rpt_url'] = opc_parent_rpt_url
|
|
2310
|
+
kwargs['opc_request_id'] = cli_util.use_or_generate_request_id(ctx.obj['request_id'])
|
|
2311
|
+
|
|
2312
|
+
_details = {}
|
|
2313
|
+
_details['projectId'] = project_id
|
|
2314
|
+
_details['compartmentId'] = compartment_id
|
|
2315
|
+
_details['jobId'] = job_id
|
|
2316
|
+
|
|
2317
|
+
if display_name is not None:
|
|
2318
|
+
_details['displayName'] = display_name
|
|
2319
|
+
|
|
2320
|
+
if job_configuration_override_details is not None:
|
|
2321
|
+
_details['jobConfigurationOverrideDetails'] = cli_util.parse_json_parameter("job_configuration_override_details", job_configuration_override_details)
|
|
2322
|
+
|
|
2323
|
+
if job_log_configuration_override_details is not None:
|
|
2324
|
+
_details['jobLogConfigurationOverrideDetails'] = cli_util.parse_json_parameter("job_log_configuration_override_details", job_log_configuration_override_details)
|
|
2325
|
+
|
|
2326
|
+
if job_environment_configuration_override_details is not None:
|
|
2327
|
+
_details['jobEnvironmentConfigurationOverrideDetails'] = cli_util.parse_json_parameter("job_environment_configuration_override_details", job_environment_configuration_override_details)
|
|
2328
|
+
|
|
2329
|
+
if job_infrastructure_configuration_override_details is not None:
|
|
2330
|
+
_details['jobInfrastructureConfigurationOverrideDetails'] = cli_util.parse_json_parameter("job_infrastructure_configuration_override_details", job_infrastructure_configuration_override_details)
|
|
2331
|
+
|
|
2332
|
+
if job_node_configuration_override_details is not None:
|
|
2333
|
+
_details['jobNodeConfigurationOverrideDetails'] = cli_util.parse_json_parameter("job_node_configuration_override_details", job_node_configuration_override_details)
|
|
2334
|
+
|
|
2335
|
+
if freeform_tags is not None:
|
|
2336
|
+
_details['freeformTags'] = cli_util.parse_json_parameter("freeform_tags", freeform_tags)
|
|
2337
|
+
|
|
2338
|
+
if defined_tags is not None:
|
|
2339
|
+
_details['definedTags'] = cli_util.parse_json_parameter("defined_tags", defined_tags)
|
|
2340
|
+
|
|
2341
|
+
client = cli_util.build_client('data_science', 'data_science', ctx)
|
|
2342
|
+
result = client.create_job_run(
|
|
2343
|
+
create_job_run_details=_details,
|
|
2344
|
+
**kwargs
|
|
2345
|
+
)
|
|
2346
|
+
if wait_for_state:
|
|
2347
|
+
|
|
2348
|
+
if hasattr(client, 'get_job_run') and callable(getattr(client, 'get_job_run')):
|
|
2349
|
+
try:
|
|
2350
|
+
wait_period_kwargs = {}
|
|
2351
|
+
if max_wait_seconds is not None:
|
|
2352
|
+
wait_period_kwargs['max_wait_seconds'] = max_wait_seconds
|
|
2353
|
+
if wait_interval_seconds is not None:
|
|
2354
|
+
wait_period_kwargs['max_interval_seconds'] = wait_interval_seconds
|
|
2355
|
+
|
|
2356
|
+
click.echo('Action completed. Waiting until the resource has entered state: {}'.format(wait_for_state), file=sys.stderr)
|
|
2357
|
+
result = oci.wait_until(client, client.get_job_run(result.data.id), 'lifecycle_state', wait_for_state, **wait_period_kwargs)
|
|
2358
|
+
except oci.exceptions.MaximumWaitTimeExceeded as e:
|
|
2359
|
+
# If we fail, we should show an error, but we should still provide the information to the customer
|
|
2360
|
+
click.echo('Failed to wait until the resource entered the specified state. Outputting last known resource state', file=sys.stderr)
|
|
2361
|
+
cli_util.render_response(result, ctx)
|
|
2362
|
+
sys.exit(2)
|
|
2363
|
+
except Exception:
|
|
2364
|
+
click.echo('Encountered error while waiting for resource to enter the specified state. Outputting last known resource state', file=sys.stderr)
|
|
2365
|
+
cli_util.render_response(result, ctx)
|
|
2366
|
+
raise
|
|
2367
|
+
else:
|
|
2368
|
+
click.echo('Unable to wait for the resource to enter the specified state', file=sys.stderr)
|
|
2369
|
+
cli_util.render_response(result, ctx)
|
|
2370
|
+
|
|
2371
|
+
|
|
2372
|
+
@job_run_group.command(name=cli_util.override('data_science.create_job_run_empty_job_configuration_details.command_name', 'create-job-run-empty-job-configuration-details'), help=u"""Creates a job run. \n[Command Reference](createJobRun)""")
|
|
2373
|
+
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate the job run with.""")
|
|
2374
|
+
@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the job run.""")
|
|
2375
|
+
@cli_util.option('--job-id', required=True, help=u"""The [OCID] of the job to create a run for.""")
|
|
2376
|
+
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource.""")
|
|
2377
|
+
@cli_util.option('--job-log-configuration-override-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2378
|
+
@cli_util.option('--job-environment-configuration-override-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2379
|
+
@cli_util.option('--job-infrastructure-configuration-override-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2380
|
+
@cli_util.option('--job-node-configuration-override-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2381
|
+
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. See [Resource Tags]. Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2382
|
+
@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. See [Resource Tags]. Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2383
|
+
@cli_util.option('--opc-parent-rpt-url', help=u"""URL to fetch the Resource Principal Token from the parent resource.""")
|
|
2384
|
+
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "DELETED", "NEEDS_ATTENTION"]), 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.""")
|
|
2385
|
+
@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.""")
|
|
2386
|
+
@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.""")
|
|
2387
|
+
@json_skeleton_utils.get_cli_json_input_option({'job-log-configuration-override-details': {'module': 'data_science', 'class': 'JobLogConfigurationDetails'}, 'job-environment-configuration-override-details': {'module': 'data_science', 'class': 'JobEnvironmentConfigurationDetails'}, 'job-infrastructure-configuration-override-details': {'module': 'data_science', 'class': 'JobInfrastructureConfigurationDetails'}, 'job-node-configuration-override-details': {'module': 'data_science', 'class': 'JobNodeConfigurationDetails'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}})
|
|
2388
|
+
@cli_util.help_option
|
|
2389
|
+
@click.pass_context
|
|
2390
|
+
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'job-log-configuration-override-details': {'module': 'data_science', 'class': 'JobLogConfigurationDetails'}, 'job-environment-configuration-override-details': {'module': 'data_science', 'class': 'JobEnvironmentConfigurationDetails'}, 'job-infrastructure-configuration-override-details': {'module': 'data_science', 'class': 'JobInfrastructureConfigurationDetails'}, 'job-node-configuration-override-details': {'module': 'data_science', 'class': 'JobNodeConfigurationDetails'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}}, output_type={'module': 'data_science', 'class': 'JobRun'})
|
|
2391
|
+
@cli_util.wrap_exceptions
|
|
2392
|
+
def create_job_run_empty_job_configuration_details(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_seconds, project_id, compartment_id, job_id, display_name, job_log_configuration_override_details, job_environment_configuration_override_details, job_infrastructure_configuration_override_details, job_node_configuration_override_details, freeform_tags, defined_tags, opc_parent_rpt_url):
|
|
2393
|
+
|
|
2394
|
+
kwargs = {}
|
|
2395
|
+
if opc_parent_rpt_url is not None:
|
|
2396
|
+
kwargs['opc_parent_rpt_url'] = opc_parent_rpt_url
|
|
2397
|
+
kwargs['opc_request_id'] = cli_util.use_or_generate_request_id(ctx.obj['request_id'])
|
|
2398
|
+
|
|
2399
|
+
_details = {}
|
|
2400
|
+
_details['jobConfigurationOverrideDetails'] = {}
|
|
2401
|
+
_details['projectId'] = project_id
|
|
2402
|
+
_details['compartmentId'] = compartment_id
|
|
2403
|
+
_details['jobId'] = job_id
|
|
2404
|
+
|
|
2405
|
+
if display_name is not None:
|
|
2406
|
+
_details['displayName'] = display_name
|
|
2407
|
+
|
|
2408
|
+
if job_log_configuration_override_details is not None:
|
|
2409
|
+
_details['jobLogConfigurationOverrideDetails'] = cli_util.parse_json_parameter("job_log_configuration_override_details", job_log_configuration_override_details)
|
|
2410
|
+
|
|
2411
|
+
if job_environment_configuration_override_details is not None:
|
|
2412
|
+
_details['jobEnvironmentConfigurationOverrideDetails'] = cli_util.parse_json_parameter("job_environment_configuration_override_details", job_environment_configuration_override_details)
|
|
2413
|
+
|
|
2414
|
+
if job_infrastructure_configuration_override_details is not None:
|
|
2415
|
+
_details['jobInfrastructureConfigurationOverrideDetails'] = cli_util.parse_json_parameter("job_infrastructure_configuration_override_details", job_infrastructure_configuration_override_details)
|
|
2416
|
+
|
|
2417
|
+
if job_node_configuration_override_details is not None:
|
|
2418
|
+
_details['jobNodeConfigurationOverrideDetails'] = cli_util.parse_json_parameter("job_node_configuration_override_details", job_node_configuration_override_details)
|
|
2419
|
+
|
|
2420
|
+
if freeform_tags is not None:
|
|
2421
|
+
_details['freeformTags'] = cli_util.parse_json_parameter("freeform_tags", freeform_tags)
|
|
2422
|
+
|
|
2423
|
+
if defined_tags is not None:
|
|
2424
|
+
_details['definedTags'] = cli_util.parse_json_parameter("defined_tags", defined_tags)
|
|
2425
|
+
|
|
2426
|
+
_details['jobConfigurationOverrideDetails']['jobType'] = 'EMPTY'
|
|
2427
|
+
|
|
2428
|
+
client = cli_util.build_client('data_science', 'data_science', ctx)
|
|
2429
|
+
result = client.create_job_run(
|
|
2430
|
+
create_job_run_details=_details,
|
|
2431
|
+
**kwargs
|
|
2432
|
+
)
|
|
2433
|
+
if wait_for_state:
|
|
2434
|
+
|
|
2435
|
+
if hasattr(client, 'get_job_run') and callable(getattr(client, 'get_job_run')):
|
|
2436
|
+
try:
|
|
2437
|
+
wait_period_kwargs = {}
|
|
2438
|
+
if max_wait_seconds is not None:
|
|
2439
|
+
wait_period_kwargs['max_wait_seconds'] = max_wait_seconds
|
|
2440
|
+
if wait_interval_seconds is not None:
|
|
2441
|
+
wait_period_kwargs['max_interval_seconds'] = wait_interval_seconds
|
|
2442
|
+
|
|
2443
|
+
click.echo('Action completed. Waiting until the resource has entered state: {}'.format(wait_for_state), file=sys.stderr)
|
|
2444
|
+
result = oci.wait_until(client, client.get_job_run(result.data.id), 'lifecycle_state', wait_for_state, **wait_period_kwargs)
|
|
2445
|
+
except oci.exceptions.MaximumWaitTimeExceeded as e:
|
|
2446
|
+
# If we fail, we should show an error, but we should still provide the information to the customer
|
|
2447
|
+
click.echo('Failed to wait until the resource entered the specified state. Outputting last known resource state', file=sys.stderr)
|
|
2448
|
+
cli_util.render_response(result, ctx)
|
|
2449
|
+
sys.exit(2)
|
|
2450
|
+
except Exception:
|
|
2451
|
+
click.echo('Encountered error while waiting for resource to enter the specified state. Outputting last known resource state', file=sys.stderr)
|
|
2452
|
+
cli_util.render_response(result, ctx)
|
|
2453
|
+
raise
|
|
2454
|
+
else:
|
|
2455
|
+
click.echo('Unable to wait for the resource to enter the specified state', file=sys.stderr)
|
|
2456
|
+
cli_util.render_response(result, ctx)
|
|
2457
|
+
|
|
2458
|
+
|
|
2459
|
+
@job_run_group.command(name=cli_util.override('data_science.create_job_run_default_job_configuration_details.command_name', 'create-job-run-default-job-configuration-details'), help=u"""Creates a job run. \n[Command Reference](createJobRun)""")
|
|
2460
|
+
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate the job run with.""")
|
|
2461
|
+
@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the job run.""")
|
|
2462
|
+
@cli_util.option('--job-id', required=True, help=u"""The [OCID] of the job to create a run for.""")
|
|
2463
|
+
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource.""")
|
|
2464
|
+
@cli_util.option('--job-log-configuration-override-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2465
|
+
@cli_util.option('--job-environment-configuration-override-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2466
|
+
@cli_util.option('--job-infrastructure-configuration-override-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2467
|
+
@cli_util.option('--job-node-configuration-override-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2468
|
+
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. See [Resource Tags]. Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2469
|
+
@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. See [Resource Tags]. Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2470
|
+
@cli_util.option('--opc-parent-rpt-url', help=u"""URL to fetch the Resource Principal Token from the parent resource.""")
|
|
2471
|
+
@cli_util.option('--job-configuration-override-details-environment-variables', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Environment variables to set for the job.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2472
|
+
@cli_util.option('--job-configuration-override-details-command-line-arguments', help=u"""The arguments to pass to the job.""")
|
|
2473
|
+
@cli_util.option('--job-configuration-override-details-maximum-runtime-in-minutes', type=click.INT, help=u"""A time bound for the execution of the job. Timer starts when the job becomes active.""")
|
|
2474
|
+
@cli_util.option('--job-configuration-override-details-startup-probe-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2475
|
+
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "DELETED", "NEEDS_ATTENTION"]), 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.""")
|
|
2476
|
+
@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.""")
|
|
2477
|
+
@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.""")
|
|
2478
|
+
@json_skeleton_utils.get_cli_json_input_option({'job-log-configuration-override-details': {'module': 'data_science', 'class': 'JobLogConfigurationDetails'}, 'job-environment-configuration-override-details': {'module': 'data_science', 'class': 'JobEnvironmentConfigurationDetails'}, 'job-infrastructure-configuration-override-details': {'module': 'data_science', 'class': 'JobInfrastructureConfigurationDetails'}, 'job-node-configuration-override-details': {'module': 'data_science', 'class': 'JobNodeConfigurationDetails'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}, 'job-configuration-override-details-environment-variables': {'module': 'data_science', 'class': 'dict(str, string)'}, 'job-configuration-override-details-startup-probe-details': {'module': 'data_science', 'class': 'JobProbeDetails'}})
|
|
2479
|
+
@cli_util.help_option
|
|
2480
|
+
@click.pass_context
|
|
2481
|
+
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'job-log-configuration-override-details': {'module': 'data_science', 'class': 'JobLogConfigurationDetails'}, 'job-environment-configuration-override-details': {'module': 'data_science', 'class': 'JobEnvironmentConfigurationDetails'}, 'job-infrastructure-configuration-override-details': {'module': 'data_science', 'class': 'JobInfrastructureConfigurationDetails'}, 'job-node-configuration-override-details': {'module': 'data_science', 'class': 'JobNodeConfigurationDetails'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}, 'job-configuration-override-details-environment-variables': {'module': 'data_science', 'class': 'dict(str, string)'}, 'job-configuration-override-details-startup-probe-details': {'module': 'data_science', 'class': 'JobProbeDetails'}}, output_type={'module': 'data_science', 'class': 'JobRun'})
|
|
2482
|
+
@cli_util.wrap_exceptions
|
|
2483
|
+
def create_job_run_default_job_configuration_details(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_seconds, project_id, compartment_id, job_id, display_name, job_log_configuration_override_details, job_environment_configuration_override_details, job_infrastructure_configuration_override_details, job_node_configuration_override_details, freeform_tags, defined_tags, opc_parent_rpt_url, job_configuration_override_details_environment_variables, job_configuration_override_details_command_line_arguments, job_configuration_override_details_maximum_runtime_in_minutes, job_configuration_override_details_startup_probe_details):
|
|
2484
|
+
|
|
2485
|
+
kwargs = {}
|
|
2486
|
+
if opc_parent_rpt_url is not None:
|
|
2487
|
+
kwargs['opc_parent_rpt_url'] = opc_parent_rpt_url
|
|
2488
|
+
kwargs['opc_request_id'] = cli_util.use_or_generate_request_id(ctx.obj['request_id'])
|
|
2489
|
+
|
|
2490
|
+
_details = {}
|
|
2491
|
+
_details['jobConfigurationOverrideDetails'] = {}
|
|
2492
|
+
_details['projectId'] = project_id
|
|
2493
|
+
_details['compartmentId'] = compartment_id
|
|
2494
|
+
_details['jobId'] = job_id
|
|
2495
|
+
|
|
2496
|
+
if display_name is not None:
|
|
2497
|
+
_details['displayName'] = display_name
|
|
2498
|
+
|
|
2499
|
+
if job_log_configuration_override_details is not None:
|
|
2500
|
+
_details['jobLogConfigurationOverrideDetails'] = cli_util.parse_json_parameter("job_log_configuration_override_details", job_log_configuration_override_details)
|
|
2501
|
+
|
|
2502
|
+
if job_environment_configuration_override_details is not None:
|
|
2503
|
+
_details['jobEnvironmentConfigurationOverrideDetails'] = cli_util.parse_json_parameter("job_environment_configuration_override_details", job_environment_configuration_override_details)
|
|
2504
|
+
|
|
2505
|
+
if job_infrastructure_configuration_override_details is not None:
|
|
2506
|
+
_details['jobInfrastructureConfigurationOverrideDetails'] = cli_util.parse_json_parameter("job_infrastructure_configuration_override_details", job_infrastructure_configuration_override_details)
|
|
2507
|
+
|
|
2508
|
+
if job_node_configuration_override_details is not None:
|
|
2509
|
+
_details['jobNodeConfigurationOverrideDetails'] = cli_util.parse_json_parameter("job_node_configuration_override_details", job_node_configuration_override_details)
|
|
2510
|
+
|
|
2511
|
+
if freeform_tags is not None:
|
|
2512
|
+
_details['freeformTags'] = cli_util.parse_json_parameter("freeform_tags", freeform_tags)
|
|
2513
|
+
|
|
2514
|
+
if defined_tags is not None:
|
|
2515
|
+
_details['definedTags'] = cli_util.parse_json_parameter("defined_tags", defined_tags)
|
|
2516
|
+
|
|
2517
|
+
if job_configuration_override_details_environment_variables is not None:
|
|
2518
|
+
_details['jobConfigurationOverrideDetails']['environmentVariables'] = cli_util.parse_json_parameter("job_configuration_override_details_environment_variables", job_configuration_override_details_environment_variables)
|
|
2519
|
+
|
|
2520
|
+
if job_configuration_override_details_command_line_arguments is not None:
|
|
2521
|
+
_details['jobConfigurationOverrideDetails']['commandLineArguments'] = job_configuration_override_details_command_line_arguments
|
|
2522
|
+
|
|
2523
|
+
if job_configuration_override_details_maximum_runtime_in_minutes is not None:
|
|
2524
|
+
_details['jobConfigurationOverrideDetails']['maximumRuntimeInMinutes'] = job_configuration_override_details_maximum_runtime_in_minutes
|
|
2525
|
+
|
|
2526
|
+
if job_configuration_override_details_startup_probe_details is not None:
|
|
2527
|
+
_details['jobConfigurationOverrideDetails']['startupProbeDetails'] = cli_util.parse_json_parameter("job_configuration_override_details_startup_probe_details", job_configuration_override_details_startup_probe_details)
|
|
2528
|
+
|
|
2529
|
+
_details['jobConfigurationOverrideDetails']['jobType'] = 'DEFAULT'
|
|
2530
|
+
|
|
2531
|
+
client = cli_util.build_client('data_science', 'data_science', ctx)
|
|
2532
|
+
result = client.create_job_run(
|
|
2533
|
+
create_job_run_details=_details,
|
|
2534
|
+
**kwargs
|
|
2535
|
+
)
|
|
2536
|
+
if wait_for_state:
|
|
2537
|
+
|
|
2538
|
+
if hasattr(client, 'get_job_run') and callable(getattr(client, 'get_job_run')):
|
|
2539
|
+
try:
|
|
2540
|
+
wait_period_kwargs = {}
|
|
2541
|
+
if max_wait_seconds is not None:
|
|
2542
|
+
wait_period_kwargs['max_wait_seconds'] = max_wait_seconds
|
|
2543
|
+
if wait_interval_seconds is not None:
|
|
2544
|
+
wait_period_kwargs['max_interval_seconds'] = wait_interval_seconds
|
|
2545
|
+
|
|
2546
|
+
click.echo('Action completed. Waiting until the resource has entered state: {}'.format(wait_for_state), file=sys.stderr)
|
|
2547
|
+
result = oci.wait_until(client, client.get_job_run(result.data.id), 'lifecycle_state', wait_for_state, **wait_period_kwargs)
|
|
2548
|
+
except oci.exceptions.MaximumWaitTimeExceeded as e:
|
|
2549
|
+
# If we fail, we should show an error, but we should still provide the information to the customer
|
|
2550
|
+
click.echo('Failed to wait until the resource entered the specified state. Outputting last known resource state', file=sys.stderr)
|
|
2551
|
+
cli_util.render_response(result, ctx)
|
|
2552
|
+
sys.exit(2)
|
|
2553
|
+
except Exception:
|
|
2554
|
+
click.echo('Encountered error while waiting for resource to enter the specified state. Outputting last known resource state', file=sys.stderr)
|
|
2555
|
+
cli_util.render_response(result, ctx)
|
|
2556
|
+
raise
|
|
2557
|
+
else:
|
|
2558
|
+
click.echo('Unable to wait for the resource to enter the specified state', file=sys.stderr)
|
|
2559
|
+
cli_util.render_response(result, ctx)
|
|
2560
|
+
|
|
2561
|
+
|
|
2562
|
+
@job_run_group.command(name=cli_util.override('data_science.create_job_run_ocir_container_job_environment_configuration_details.command_name', 'create-job-run-ocir-container-job-environment-configuration-details'), help=u"""Creates a job run. \n[Command Reference](createJobRun)""")
|
|
2563
|
+
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate the job run with.""")
|
|
2564
|
+
@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the job run.""")
|
|
2565
|
+
@cli_util.option('--job-id', required=True, help=u"""The [OCID] of the job to create a run for.""")
|
|
2566
|
+
@cli_util.option('--job-environment-configuration-override-details-image', required=True, help=u"""The full path to the Oracle Container Repository (OCIR) registry, image, and tag in a canonical format. Acceptable format: `<region>.ocir.io/<registry>/<image>:<tag>` `<region>.ocir.io/<registry>/<image>:<tag>@digest`""")
|
|
2567
|
+
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource.""")
|
|
2568
|
+
@cli_util.option('--job-configuration-override-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2569
|
+
@cli_util.option('--job-log-configuration-override-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2570
|
+
@cli_util.option('--job-infrastructure-configuration-override-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2571
|
+
@cli_util.option('--job-node-configuration-override-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2572
|
+
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. See [Resource Tags]. Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2573
|
+
@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. See [Resource Tags]. Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2574
|
+
@cli_util.option('--opc-parent-rpt-url', help=u"""URL to fetch the Resource Principal Token from the parent resource.""")
|
|
2575
|
+
@cli_util.option('--job-environment-configuration-override-details-cmd', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The container image run [CMD] as a list of strings. Use `CMD` as arguments to the `ENTRYPOINT` or the only command to run in the absence of an `ENTRYPOINT`. The combined size of `CMD` and `ENTRYPOINT` must be less than 2048 bytes.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2576
|
+
@cli_util.option('--job-environment-configuration-override-details-entrypoint', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The container image run [ENTRYPOINT] as a list of strings. Accept the `CMD` as extra arguments. The combined size of `CMD` and `ENTRYPOINT` must be less than 2048 bytes. More information on how `CMD` and `ENTRYPOINT` interact are [here].""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2577
|
+
@cli_util.option('--job-environment-configuration-override-details-image-digest', help=u"""The digest of the container image. For example, `sha256:881303a6b2738834d795a32b4a98eb0e5e3d1cad590a712d1e04f9b2fa90a030`""")
|
|
2578
|
+
@cli_util.option('--job-environment-configuration-override-details-image-signature-id', help=u"""OCID of the container image signature""")
|
|
2579
|
+
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "DELETED", "NEEDS_ATTENTION"]), 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.""")
|
|
2580
|
+
@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.""")
|
|
2581
|
+
@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.""")
|
|
2582
|
+
@json_skeleton_utils.get_cli_json_input_option({'job-configuration-override-details': {'module': 'data_science', 'class': 'JobConfigurationDetails'}, 'job-log-configuration-override-details': {'module': 'data_science', 'class': 'JobLogConfigurationDetails'}, 'job-infrastructure-configuration-override-details': {'module': 'data_science', 'class': 'JobInfrastructureConfigurationDetails'}, 'job-node-configuration-override-details': {'module': 'data_science', 'class': 'JobNodeConfigurationDetails'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}, 'job-environment-configuration-override-details-cmd': {'module': 'data_science', 'class': 'list[string]'}, 'job-environment-configuration-override-details-entrypoint': {'module': 'data_science', 'class': 'list[string]'}})
|
|
2583
|
+
@cli_util.help_option
|
|
2584
|
+
@click.pass_context
|
|
2585
|
+
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'job-configuration-override-details': {'module': 'data_science', 'class': 'JobConfigurationDetails'}, 'job-log-configuration-override-details': {'module': 'data_science', 'class': 'JobLogConfigurationDetails'}, 'job-infrastructure-configuration-override-details': {'module': 'data_science', 'class': 'JobInfrastructureConfigurationDetails'}, 'job-node-configuration-override-details': {'module': 'data_science', 'class': 'JobNodeConfigurationDetails'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}, 'job-environment-configuration-override-details-cmd': {'module': 'data_science', 'class': 'list[string]'}, 'job-environment-configuration-override-details-entrypoint': {'module': 'data_science', 'class': 'list[string]'}}, output_type={'module': 'data_science', 'class': 'JobRun'})
|
|
2586
|
+
@cli_util.wrap_exceptions
|
|
2587
|
+
def create_job_run_ocir_container_job_environment_configuration_details(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_seconds, project_id, compartment_id, job_id, job_environment_configuration_override_details_image, display_name, job_configuration_override_details, job_log_configuration_override_details, job_infrastructure_configuration_override_details, job_node_configuration_override_details, freeform_tags, defined_tags, opc_parent_rpt_url, job_environment_configuration_override_details_cmd, job_environment_configuration_override_details_entrypoint, job_environment_configuration_override_details_image_digest, job_environment_configuration_override_details_image_signature_id):
|
|
2588
|
+
|
|
2589
|
+
kwargs = {}
|
|
2590
|
+
if opc_parent_rpt_url is not None:
|
|
2591
|
+
kwargs['opc_parent_rpt_url'] = opc_parent_rpt_url
|
|
2592
|
+
kwargs['opc_request_id'] = cli_util.use_or_generate_request_id(ctx.obj['request_id'])
|
|
2593
|
+
|
|
2594
|
+
_details = {}
|
|
2595
|
+
_details['jobEnvironmentConfigurationOverrideDetails'] = {}
|
|
2596
|
+
_details['projectId'] = project_id
|
|
2597
|
+
_details['compartmentId'] = compartment_id
|
|
2598
|
+
_details['jobId'] = job_id
|
|
2599
|
+
_details['jobEnvironmentConfigurationOverrideDetails']['image'] = job_environment_configuration_override_details_image
|
|
2600
|
+
|
|
2601
|
+
if display_name is not None:
|
|
2602
|
+
_details['displayName'] = display_name
|
|
2603
|
+
|
|
2604
|
+
if job_configuration_override_details is not None:
|
|
2605
|
+
_details['jobConfigurationOverrideDetails'] = cli_util.parse_json_parameter("job_configuration_override_details", job_configuration_override_details)
|
|
2606
|
+
|
|
2607
|
+
if job_log_configuration_override_details is not None:
|
|
2608
|
+
_details['jobLogConfigurationOverrideDetails'] = cli_util.parse_json_parameter("job_log_configuration_override_details", job_log_configuration_override_details)
|
|
2609
|
+
|
|
2610
|
+
if job_infrastructure_configuration_override_details is not None:
|
|
2611
|
+
_details['jobInfrastructureConfigurationOverrideDetails'] = cli_util.parse_json_parameter("job_infrastructure_configuration_override_details", job_infrastructure_configuration_override_details)
|
|
2612
|
+
|
|
2613
|
+
if job_node_configuration_override_details is not None:
|
|
2614
|
+
_details['jobNodeConfigurationOverrideDetails'] = cli_util.parse_json_parameter("job_node_configuration_override_details", job_node_configuration_override_details)
|
|
2615
|
+
|
|
2616
|
+
if freeform_tags is not None:
|
|
2617
|
+
_details['freeformTags'] = cli_util.parse_json_parameter("freeform_tags", freeform_tags)
|
|
2618
|
+
|
|
2619
|
+
if defined_tags is not None:
|
|
2620
|
+
_details['definedTags'] = cli_util.parse_json_parameter("defined_tags", defined_tags)
|
|
2621
|
+
|
|
2622
|
+
if job_environment_configuration_override_details_cmd is not None:
|
|
2623
|
+
_details['jobEnvironmentConfigurationOverrideDetails']['cmd'] = cli_util.parse_json_parameter("job_environment_configuration_override_details_cmd", job_environment_configuration_override_details_cmd)
|
|
2624
|
+
|
|
2625
|
+
if job_environment_configuration_override_details_entrypoint is not None:
|
|
2626
|
+
_details['jobEnvironmentConfigurationOverrideDetails']['entrypoint'] = cli_util.parse_json_parameter("job_environment_configuration_override_details_entrypoint", job_environment_configuration_override_details_entrypoint)
|
|
2627
|
+
|
|
2628
|
+
if job_environment_configuration_override_details_image_digest is not None:
|
|
2629
|
+
_details['jobEnvironmentConfigurationOverrideDetails']['imageDigest'] = job_environment_configuration_override_details_image_digest
|
|
2630
|
+
|
|
2631
|
+
if job_environment_configuration_override_details_image_signature_id is not None:
|
|
2632
|
+
_details['jobEnvironmentConfigurationOverrideDetails']['imageSignatureId'] = job_environment_configuration_override_details_image_signature_id
|
|
2633
|
+
|
|
2634
|
+
_details['jobEnvironmentConfigurationOverrideDetails']['jobEnvironmentType'] = 'OCIR_CONTAINER'
|
|
2635
|
+
|
|
2636
|
+
client = cli_util.build_client('data_science', 'data_science', ctx)
|
|
2637
|
+
result = client.create_job_run(
|
|
2638
|
+
create_job_run_details=_details,
|
|
2639
|
+
**kwargs
|
|
2640
|
+
)
|
|
2641
|
+
if wait_for_state:
|
|
2642
|
+
|
|
2643
|
+
if hasattr(client, 'get_job_run') and callable(getattr(client, 'get_job_run')):
|
|
2644
|
+
try:
|
|
2645
|
+
wait_period_kwargs = {}
|
|
2646
|
+
if max_wait_seconds is not None:
|
|
2647
|
+
wait_period_kwargs['max_wait_seconds'] = max_wait_seconds
|
|
2648
|
+
if wait_interval_seconds is not None:
|
|
2649
|
+
wait_period_kwargs['max_interval_seconds'] = wait_interval_seconds
|
|
2650
|
+
|
|
2651
|
+
click.echo('Action completed. Waiting until the resource has entered state: {}'.format(wait_for_state), file=sys.stderr)
|
|
2652
|
+
result = oci.wait_until(client, client.get_job_run(result.data.id), 'lifecycle_state', wait_for_state, **wait_period_kwargs)
|
|
2653
|
+
except oci.exceptions.MaximumWaitTimeExceeded as e:
|
|
2654
|
+
# If we fail, we should show an error, but we should still provide the information to the customer
|
|
2655
|
+
click.echo('Failed to wait until the resource entered the specified state. Outputting last known resource state', file=sys.stderr)
|
|
2656
|
+
cli_util.render_response(result, ctx)
|
|
2657
|
+
sys.exit(2)
|
|
2658
|
+
except Exception:
|
|
2659
|
+
click.echo('Encountered error while waiting for resource to enter the specified state. Outputting last known resource state', file=sys.stderr)
|
|
2660
|
+
cli_util.render_response(result, ctx)
|
|
2661
|
+
raise
|
|
2662
|
+
else:
|
|
2663
|
+
click.echo('Unable to wait for the resource to enter the specified state', file=sys.stderr)
|
|
2664
|
+
cli_util.render_response(result, ctx)
|
|
2665
|
+
|
|
2666
|
+
|
|
2667
|
+
@job_run_group.command(name=cli_util.override('data_science.create_job_run_multi_node_job_infrastructure_configuration_details.command_name', 'create-job-run-multi-node-job-infrastructure-configuration-details'), help=u"""Creates a job run. \n[Command Reference](createJobRun)""")
|
|
2668
|
+
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate the job run with.""")
|
|
2669
|
+
@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the job run.""")
|
|
2670
|
+
@cli_util.option('--job-id', required=True, help=u"""The [OCID] of the job to create a run for.""")
|
|
2671
|
+
@cli_util.option('--job-infrastructure-configuration-override-details-shape-name', required=True, help=u"""The name that corresponds to the JobShapeSummary to use for the job node""")
|
|
2672
|
+
@cli_util.option('--job-infrastructure-configuration-override-details-block-storage-size-in-gbs', required=True, type=click.INT, help=u"""The size of the block storage volume to attach to the instance running the job""")
|
|
2673
|
+
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource.""")
|
|
2674
|
+
@cli_util.option('--job-configuration-override-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2675
|
+
@cli_util.option('--job-log-configuration-override-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2676
|
+
@cli_util.option('--job-environment-configuration-override-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2677
|
+
@cli_util.option('--job-node-configuration-override-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2678
|
+
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. See [Resource Tags]. Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2679
|
+
@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. See [Resource Tags]. Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2680
|
+
@cli_util.option('--opc-parent-rpt-url', help=u"""URL to fetch the Resource Principal Token from the parent resource.""")
|
|
2681
|
+
@cli_util.option('--job-infrastructure-configuration-override-details-job-shape-config-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2682
|
+
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "DELETED", "NEEDS_ATTENTION"]), 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.""")
|
|
2683
|
+
@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.""")
|
|
2684
|
+
@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.""")
|
|
2685
|
+
@json_skeleton_utils.get_cli_json_input_option({'job-configuration-override-details': {'module': 'data_science', 'class': 'JobConfigurationDetails'}, 'job-log-configuration-override-details': {'module': 'data_science', 'class': 'JobLogConfigurationDetails'}, 'job-environment-configuration-override-details': {'module': 'data_science', 'class': 'JobEnvironmentConfigurationDetails'}, 'job-node-configuration-override-details': {'module': 'data_science', 'class': 'JobNodeConfigurationDetails'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}, 'job-infrastructure-configuration-override-details-job-shape-config-details': {'module': 'data_science', 'class': 'JobShapeConfigDetails'}})
|
|
2686
|
+
@cli_util.help_option
|
|
2687
|
+
@click.pass_context
|
|
2688
|
+
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'job-configuration-override-details': {'module': 'data_science', 'class': 'JobConfigurationDetails'}, 'job-log-configuration-override-details': {'module': 'data_science', 'class': 'JobLogConfigurationDetails'}, 'job-environment-configuration-override-details': {'module': 'data_science', 'class': 'JobEnvironmentConfigurationDetails'}, 'job-node-configuration-override-details': {'module': 'data_science', 'class': 'JobNodeConfigurationDetails'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}, 'job-infrastructure-configuration-override-details-job-shape-config-details': {'module': 'data_science', 'class': 'JobShapeConfigDetails'}}, output_type={'module': 'data_science', 'class': 'JobRun'})
|
|
2689
|
+
@cli_util.wrap_exceptions
|
|
2690
|
+
def create_job_run_multi_node_job_infrastructure_configuration_details(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_seconds, project_id, compartment_id, job_id, job_infrastructure_configuration_override_details_shape_name, job_infrastructure_configuration_override_details_block_storage_size_in_gbs, display_name, job_configuration_override_details, job_log_configuration_override_details, job_environment_configuration_override_details, job_node_configuration_override_details, freeform_tags, defined_tags, opc_parent_rpt_url, job_infrastructure_configuration_override_details_job_shape_config_details):
|
|
2691
|
+
|
|
2692
|
+
kwargs = {}
|
|
2693
|
+
if opc_parent_rpt_url is not None:
|
|
2694
|
+
kwargs['opc_parent_rpt_url'] = opc_parent_rpt_url
|
|
2695
|
+
kwargs['opc_request_id'] = cli_util.use_or_generate_request_id(ctx.obj['request_id'])
|
|
2696
|
+
|
|
2697
|
+
_details = {}
|
|
2698
|
+
_details['jobInfrastructureConfigurationOverrideDetails'] = {}
|
|
2699
|
+
_details['projectId'] = project_id
|
|
2700
|
+
_details['compartmentId'] = compartment_id
|
|
2701
|
+
_details['jobId'] = job_id
|
|
2702
|
+
_details['jobInfrastructureConfigurationOverrideDetails']['shapeName'] = job_infrastructure_configuration_override_details_shape_name
|
|
2703
|
+
_details['jobInfrastructureConfigurationOverrideDetails']['blockStorageSizeInGBs'] = job_infrastructure_configuration_override_details_block_storage_size_in_gbs
|
|
2704
|
+
|
|
2705
|
+
if display_name is not None:
|
|
2706
|
+
_details['displayName'] = display_name
|
|
2707
|
+
|
|
2708
|
+
if job_configuration_override_details is not None:
|
|
2709
|
+
_details['jobConfigurationOverrideDetails'] = cli_util.parse_json_parameter("job_configuration_override_details", job_configuration_override_details)
|
|
2710
|
+
|
|
2711
|
+
if job_log_configuration_override_details is not None:
|
|
2712
|
+
_details['jobLogConfigurationOverrideDetails'] = cli_util.parse_json_parameter("job_log_configuration_override_details", job_log_configuration_override_details)
|
|
2713
|
+
|
|
2714
|
+
if job_environment_configuration_override_details is not None:
|
|
2715
|
+
_details['jobEnvironmentConfigurationOverrideDetails'] = cli_util.parse_json_parameter("job_environment_configuration_override_details", job_environment_configuration_override_details)
|
|
2716
|
+
|
|
2717
|
+
if job_node_configuration_override_details is not None:
|
|
2718
|
+
_details['jobNodeConfigurationOverrideDetails'] = cli_util.parse_json_parameter("job_node_configuration_override_details", job_node_configuration_override_details)
|
|
2719
|
+
|
|
2720
|
+
if freeform_tags is not None:
|
|
2721
|
+
_details['freeformTags'] = cli_util.parse_json_parameter("freeform_tags", freeform_tags)
|
|
2722
|
+
|
|
2723
|
+
if defined_tags is not None:
|
|
2724
|
+
_details['definedTags'] = cli_util.parse_json_parameter("defined_tags", defined_tags)
|
|
2725
|
+
|
|
2726
|
+
if job_infrastructure_configuration_override_details_job_shape_config_details is not None:
|
|
2727
|
+
_details['jobInfrastructureConfigurationOverrideDetails']['jobShapeConfigDetails'] = cli_util.parse_json_parameter("job_infrastructure_configuration_override_details_job_shape_config_details", job_infrastructure_configuration_override_details_job_shape_config_details)
|
|
2728
|
+
|
|
2729
|
+
_details['jobInfrastructureConfigurationOverrideDetails']['jobInfrastructureType'] = 'MULTI_NODE'
|
|
2730
|
+
|
|
2731
|
+
client = cli_util.build_client('data_science', 'data_science', ctx)
|
|
2732
|
+
result = client.create_job_run(
|
|
2733
|
+
create_job_run_details=_details,
|
|
2734
|
+
**kwargs
|
|
2735
|
+
)
|
|
2736
|
+
if wait_for_state:
|
|
2737
|
+
|
|
2738
|
+
if hasattr(client, 'get_job_run') and callable(getattr(client, 'get_job_run')):
|
|
2739
|
+
try:
|
|
2740
|
+
wait_period_kwargs = {}
|
|
2741
|
+
if max_wait_seconds is not None:
|
|
2742
|
+
wait_period_kwargs['max_wait_seconds'] = max_wait_seconds
|
|
2743
|
+
if wait_interval_seconds is not None:
|
|
2744
|
+
wait_period_kwargs['max_interval_seconds'] = wait_interval_seconds
|
|
2745
|
+
|
|
2746
|
+
click.echo('Action completed. Waiting until the resource has entered state: {}'.format(wait_for_state), file=sys.stderr)
|
|
2747
|
+
result = oci.wait_until(client, client.get_job_run(result.data.id), 'lifecycle_state', wait_for_state, **wait_period_kwargs)
|
|
2748
|
+
except oci.exceptions.MaximumWaitTimeExceeded as e:
|
|
2749
|
+
# If we fail, we should show an error, but we should still provide the information to the customer
|
|
2750
|
+
click.echo('Failed to wait until the resource entered the specified state. Outputting last known resource state', file=sys.stderr)
|
|
2751
|
+
cli_util.render_response(result, ctx)
|
|
2752
|
+
sys.exit(2)
|
|
2753
|
+
except Exception:
|
|
2754
|
+
click.echo('Encountered error while waiting for resource to enter the specified state. Outputting last known resource state', file=sys.stderr)
|
|
2755
|
+
cli_util.render_response(result, ctx)
|
|
2756
|
+
raise
|
|
2757
|
+
else:
|
|
2758
|
+
click.echo('Unable to wait for the resource to enter the specified state', file=sys.stderr)
|
|
2759
|
+
cli_util.render_response(result, ctx)
|
|
2760
|
+
|
|
2761
|
+
|
|
2762
|
+
@job_run_group.command(name=cli_util.override('data_science.create_job_run_empty_job_infrastructure_configuration_details.command_name', 'create-job-run-empty-job-infrastructure-configuration-details'), help=u"""Creates a job run. \n[Command Reference](createJobRun)""")
|
|
2763
|
+
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate the job run with.""")
|
|
2764
|
+
@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the job run.""")
|
|
2765
|
+
@cli_util.option('--job-id', required=True, help=u"""The [OCID] of the job to create a run for.""")
|
|
2766
|
+
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource.""")
|
|
2767
|
+
@cli_util.option('--job-configuration-override-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2768
|
+
@cli_util.option('--job-log-configuration-override-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2769
|
+
@cli_util.option('--job-environment-configuration-override-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2770
|
+
@cli_util.option('--job-node-configuration-override-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2771
|
+
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. See [Resource Tags]. Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2772
|
+
@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. See [Resource Tags]. Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2773
|
+
@cli_util.option('--opc-parent-rpt-url', help=u"""URL to fetch the Resource Principal Token from the parent resource.""")
|
|
2774
|
+
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "DELETED", "NEEDS_ATTENTION"]), 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.""")
|
|
2775
|
+
@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.""")
|
|
2776
|
+
@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.""")
|
|
2777
|
+
@json_skeleton_utils.get_cli_json_input_option({'job-configuration-override-details': {'module': 'data_science', 'class': 'JobConfigurationDetails'}, 'job-log-configuration-override-details': {'module': 'data_science', 'class': 'JobLogConfigurationDetails'}, 'job-environment-configuration-override-details': {'module': 'data_science', 'class': 'JobEnvironmentConfigurationDetails'}, 'job-node-configuration-override-details': {'module': 'data_science', 'class': 'JobNodeConfigurationDetails'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}})
|
|
2778
|
+
@cli_util.help_option
|
|
2779
|
+
@click.pass_context
|
|
2780
|
+
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'job-configuration-override-details': {'module': 'data_science', 'class': 'JobConfigurationDetails'}, 'job-log-configuration-override-details': {'module': 'data_science', 'class': 'JobLogConfigurationDetails'}, 'job-environment-configuration-override-details': {'module': 'data_science', 'class': 'JobEnvironmentConfigurationDetails'}, 'job-node-configuration-override-details': {'module': 'data_science', 'class': 'JobNodeConfigurationDetails'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}}, output_type={'module': 'data_science', 'class': 'JobRun'})
|
|
2781
|
+
@cli_util.wrap_exceptions
|
|
2782
|
+
def create_job_run_empty_job_infrastructure_configuration_details(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_seconds, project_id, compartment_id, job_id, display_name, job_configuration_override_details, job_log_configuration_override_details, job_environment_configuration_override_details, job_node_configuration_override_details, freeform_tags, defined_tags, opc_parent_rpt_url):
|
|
2783
|
+
|
|
2784
|
+
kwargs = {}
|
|
2785
|
+
if opc_parent_rpt_url is not None:
|
|
2786
|
+
kwargs['opc_parent_rpt_url'] = opc_parent_rpt_url
|
|
2787
|
+
kwargs['opc_request_id'] = cli_util.use_or_generate_request_id(ctx.obj['request_id'])
|
|
2788
|
+
|
|
2789
|
+
_details = {}
|
|
2790
|
+
_details['jobInfrastructureConfigurationOverrideDetails'] = {}
|
|
2791
|
+
_details['projectId'] = project_id
|
|
2792
|
+
_details['compartmentId'] = compartment_id
|
|
2793
|
+
_details['jobId'] = job_id
|
|
2794
|
+
|
|
2795
|
+
if display_name is not None:
|
|
2796
|
+
_details['displayName'] = display_name
|
|
2797
|
+
|
|
2798
|
+
if job_configuration_override_details is not None:
|
|
2799
|
+
_details['jobConfigurationOverrideDetails'] = cli_util.parse_json_parameter("job_configuration_override_details", job_configuration_override_details)
|
|
2800
|
+
|
|
2801
|
+
if job_log_configuration_override_details is not None:
|
|
2802
|
+
_details['jobLogConfigurationOverrideDetails'] = cli_util.parse_json_parameter("job_log_configuration_override_details", job_log_configuration_override_details)
|
|
2803
|
+
|
|
2804
|
+
if job_environment_configuration_override_details is not None:
|
|
2805
|
+
_details['jobEnvironmentConfigurationOverrideDetails'] = cli_util.parse_json_parameter("job_environment_configuration_override_details", job_environment_configuration_override_details)
|
|
2806
|
+
|
|
2807
|
+
if job_node_configuration_override_details is not None:
|
|
2808
|
+
_details['jobNodeConfigurationOverrideDetails'] = cli_util.parse_json_parameter("job_node_configuration_override_details", job_node_configuration_override_details)
|
|
2809
|
+
|
|
2810
|
+
if freeform_tags is not None:
|
|
2811
|
+
_details['freeformTags'] = cli_util.parse_json_parameter("freeform_tags", freeform_tags)
|
|
2812
|
+
|
|
2813
|
+
if defined_tags is not None:
|
|
2814
|
+
_details['definedTags'] = cli_util.parse_json_parameter("defined_tags", defined_tags)
|
|
2815
|
+
|
|
2816
|
+
_details['jobInfrastructureConfigurationOverrideDetails']['jobInfrastructureType'] = 'EMPTY'
|
|
2817
|
+
|
|
2818
|
+
client = cli_util.build_client('data_science', 'data_science', ctx)
|
|
2819
|
+
result = client.create_job_run(
|
|
2820
|
+
create_job_run_details=_details,
|
|
2821
|
+
**kwargs
|
|
2822
|
+
)
|
|
2823
|
+
if wait_for_state:
|
|
2824
|
+
|
|
2825
|
+
if hasattr(client, 'get_job_run') and callable(getattr(client, 'get_job_run')):
|
|
1795
2826
|
try:
|
|
1796
2827
|
wait_period_kwargs = {}
|
|
1797
2828
|
if max_wait_seconds is not None:
|
|
@@ -1800,7 +2831,7 @@ def create_job_ocir_container_job_environment_configuration_details(ctx, from_js
|
|
|
1800
2831
|
wait_period_kwargs['max_interval_seconds'] = wait_interval_seconds
|
|
1801
2832
|
|
|
1802
2833
|
click.echo('Action completed. Waiting until the resource has entered state: {}'.format(wait_for_state), file=sys.stderr)
|
|
1803
|
-
result = oci.wait_until(client, client.
|
|
2834
|
+
result = oci.wait_until(client, client.get_job_run(result.data.id), 'lifecycle_state', wait_for_state, **wait_period_kwargs)
|
|
1804
2835
|
except oci.exceptions.MaximumWaitTimeExceeded as e:
|
|
1805
2836
|
# If we fail, we should show an error, but we should still provide the information to the customer
|
|
1806
2837
|
click.echo('Failed to wait until the resource entered the specified state. Outputting last known resource state', file=sys.stderr)
|
|
@@ -1815,60 +2846,30 @@ def create_job_ocir_container_job_environment_configuration_details(ctx, from_js
|
|
|
1815
2846
|
cli_util.render_response(result, ctx)
|
|
1816
2847
|
|
|
1817
2848
|
|
|
1818
|
-
@
|
|
1819
|
-
@cli_util.option('--job-id', required=True, help=u"""The [OCID] of the job.""")
|
|
1820
|
-
@cli_util.option('--job-artifact', required=True, help=u"""The job artifact to upload.""")
|
|
1821
|
-
@cli_util.option('--content-length', type=click.INT, help=u"""The content length of the body.""")
|
|
1822
|
-
@cli_util.option('--content-disposition', help=u"""This header is for specifying a filename during upload. It is used to identify the file type and validate if the file type is supported. Example: `--content-disposition \"attachment; filename=hello-world.py\"`""")
|
|
1823
|
-
@json_skeleton_utils.get_cli_json_input_option({})
|
|
1824
|
-
@cli_util.help_option
|
|
1825
|
-
@click.pass_context
|
|
1826
|
-
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={})
|
|
1827
|
-
@cli_util.wrap_exceptions
|
|
1828
|
-
def create_job_artifact(ctx, from_json, job_id, job_artifact, content_length, content_disposition):
|
|
1829
|
-
|
|
1830
|
-
if isinstance(job_id, six.string_types) and len(job_id.strip()) == 0:
|
|
1831
|
-
raise click.UsageError('Parameter --job-id cannot be whitespace or empty string')
|
|
1832
|
-
|
|
1833
|
-
kwargs = {}
|
|
1834
|
-
if content_length is not None:
|
|
1835
|
-
kwargs['content_length'] = content_length
|
|
1836
|
-
if content_disposition is not None:
|
|
1837
|
-
kwargs['content_disposition'] = content_disposition
|
|
1838
|
-
kwargs['opc_request_id'] = cli_util.use_or_generate_request_id(ctx.obj['request_id'])
|
|
1839
|
-
|
|
1840
|
-
# do not automatically retry operations with binary inputs
|
|
1841
|
-
kwargs['retry_strategy'] = oci.retry.NoneRetryStrategy()
|
|
1842
|
-
|
|
1843
|
-
client = cli_util.build_client('data_science', 'data_science', ctx)
|
|
1844
|
-
result = client.create_job_artifact(
|
|
1845
|
-
job_id=job_id,
|
|
1846
|
-
job_artifact=job_artifact,
|
|
1847
|
-
**kwargs
|
|
1848
|
-
)
|
|
1849
|
-
cli_util.render_response(result, ctx)
|
|
1850
|
-
|
|
1851
|
-
|
|
1852
|
-
@job_run_group.command(name=cli_util.override('data_science.create_job_run.command_name', 'create'), help=u"""Creates a job run. \n[Command Reference](createJobRun)""")
|
|
2849
|
+
@job_run_group.command(name=cli_util.override('data_science.create_job_run_managed_egress_standalone_job_infrastructure_configuration_details.command_name', 'create-job-run-managed-egress-standalone-job-infrastructure-configuration-details'), help=u"""Creates a job run. \n[Command Reference](createJobRun)""")
|
|
1853
2850
|
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate the job run with.""")
|
|
1854
2851
|
@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the job run.""")
|
|
1855
2852
|
@cli_util.option('--job-id', required=True, help=u"""The [OCID] of the job to create a run for.""")
|
|
2853
|
+
@cli_util.option('--job-infrastructure-configuration-override-details-shape-name', required=True, help=u"""The shape used to launch the job run instances.""")
|
|
2854
|
+
@cli_util.option('--job-infrastructure-configuration-override-details-block-storage-size-in-gbs', required=True, type=click.INT, help=u"""The size of the block storage volume to attach to the instance running the job""")
|
|
1856
2855
|
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource.""")
|
|
1857
2856
|
@cli_util.option('--job-configuration-override-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1858
2857
|
@cli_util.option('--job-log-configuration-override-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1859
2858
|
@cli_util.option('--job-environment-configuration-override-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2859
|
+
@cli_util.option('--job-node-configuration-override-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1860
2860
|
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. See [Resource Tags]. Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1861
2861
|
@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. See [Resource Tags]. Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1862
2862
|
@cli_util.option('--opc-parent-rpt-url', help=u"""URL to fetch the Resource Principal Token from the parent resource.""")
|
|
2863
|
+
@cli_util.option('--job-infrastructure-configuration-override-details-job-shape-config-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1863
2864
|
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "DELETED", "NEEDS_ATTENTION"]), 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.""")
|
|
1864
2865
|
@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.""")
|
|
1865
2866
|
@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.""")
|
|
1866
|
-
@json_skeleton_utils.get_cli_json_input_option({'job-configuration-override-details': {'module': 'data_science', 'class': 'JobConfigurationDetails'}, 'job-log-configuration-override-details': {'module': 'data_science', 'class': 'JobLogConfigurationDetails'}, 'job-environment-configuration-override-details': {'module': 'data_science', 'class': 'JobEnvironmentConfigurationDetails'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}})
|
|
2867
|
+
@json_skeleton_utils.get_cli_json_input_option({'job-configuration-override-details': {'module': 'data_science', 'class': 'JobConfigurationDetails'}, 'job-log-configuration-override-details': {'module': 'data_science', 'class': 'JobLogConfigurationDetails'}, 'job-environment-configuration-override-details': {'module': 'data_science', 'class': 'JobEnvironmentConfigurationDetails'}, 'job-node-configuration-override-details': {'module': 'data_science', 'class': 'JobNodeConfigurationDetails'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}, 'job-infrastructure-configuration-override-details-job-shape-config-details': {'module': 'data_science', 'class': 'JobShapeConfigDetails'}})
|
|
1867
2868
|
@cli_util.help_option
|
|
1868
2869
|
@click.pass_context
|
|
1869
|
-
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'job-configuration-override-details': {'module': 'data_science', 'class': 'JobConfigurationDetails'}, 'job-log-configuration-override-details': {'module': 'data_science', 'class': 'JobLogConfigurationDetails'}, 'job-environment-configuration-override-details': {'module': 'data_science', 'class': 'JobEnvironmentConfigurationDetails'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}}, output_type={'module': 'data_science', 'class': 'JobRun'})
|
|
2870
|
+
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'job-configuration-override-details': {'module': 'data_science', 'class': 'JobConfigurationDetails'}, 'job-log-configuration-override-details': {'module': 'data_science', 'class': 'JobLogConfigurationDetails'}, 'job-environment-configuration-override-details': {'module': 'data_science', 'class': 'JobEnvironmentConfigurationDetails'}, 'job-node-configuration-override-details': {'module': 'data_science', 'class': 'JobNodeConfigurationDetails'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}, 'job-infrastructure-configuration-override-details-job-shape-config-details': {'module': 'data_science', 'class': 'JobShapeConfigDetails'}}, output_type={'module': 'data_science', 'class': 'JobRun'})
|
|
1870
2871
|
@cli_util.wrap_exceptions
|
|
1871
|
-
def
|
|
2872
|
+
def create_job_run_managed_egress_standalone_job_infrastructure_configuration_details(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_seconds, project_id, compartment_id, job_id, job_infrastructure_configuration_override_details_shape_name, job_infrastructure_configuration_override_details_block_storage_size_in_gbs, display_name, job_configuration_override_details, job_log_configuration_override_details, job_environment_configuration_override_details, job_node_configuration_override_details, freeform_tags, defined_tags, opc_parent_rpt_url, job_infrastructure_configuration_override_details_job_shape_config_details):
|
|
1872
2873
|
|
|
1873
2874
|
kwargs = {}
|
|
1874
2875
|
if opc_parent_rpt_url is not None:
|
|
@@ -1876,9 +2877,12 @@ def create_job_run(ctx, from_json, wait_for_state, max_wait_seconds, wait_interv
|
|
|
1876
2877
|
kwargs['opc_request_id'] = cli_util.use_or_generate_request_id(ctx.obj['request_id'])
|
|
1877
2878
|
|
|
1878
2879
|
_details = {}
|
|
2880
|
+
_details['jobInfrastructureConfigurationOverrideDetails'] = {}
|
|
1879
2881
|
_details['projectId'] = project_id
|
|
1880
2882
|
_details['compartmentId'] = compartment_id
|
|
1881
2883
|
_details['jobId'] = job_id
|
|
2884
|
+
_details['jobInfrastructureConfigurationOverrideDetails']['shapeName'] = job_infrastructure_configuration_override_details_shape_name
|
|
2885
|
+
_details['jobInfrastructureConfigurationOverrideDetails']['blockStorageSizeInGBs'] = job_infrastructure_configuration_override_details_block_storage_size_in_gbs
|
|
1882
2886
|
|
|
1883
2887
|
if display_name is not None:
|
|
1884
2888
|
_details['displayName'] = display_name
|
|
@@ -1892,12 +2896,20 @@ def create_job_run(ctx, from_json, wait_for_state, max_wait_seconds, wait_interv
|
|
|
1892
2896
|
if job_environment_configuration_override_details is not None:
|
|
1893
2897
|
_details['jobEnvironmentConfigurationOverrideDetails'] = cli_util.parse_json_parameter("job_environment_configuration_override_details", job_environment_configuration_override_details)
|
|
1894
2898
|
|
|
2899
|
+
if job_node_configuration_override_details is not None:
|
|
2900
|
+
_details['jobNodeConfigurationOverrideDetails'] = cli_util.parse_json_parameter("job_node_configuration_override_details", job_node_configuration_override_details)
|
|
2901
|
+
|
|
1895
2902
|
if freeform_tags is not None:
|
|
1896
2903
|
_details['freeformTags'] = cli_util.parse_json_parameter("freeform_tags", freeform_tags)
|
|
1897
2904
|
|
|
1898
2905
|
if defined_tags is not None:
|
|
1899
2906
|
_details['definedTags'] = cli_util.parse_json_parameter("defined_tags", defined_tags)
|
|
1900
2907
|
|
|
2908
|
+
if job_infrastructure_configuration_override_details_job_shape_config_details is not None:
|
|
2909
|
+
_details['jobInfrastructureConfigurationOverrideDetails']['jobShapeConfigDetails'] = cli_util.parse_json_parameter("job_infrastructure_configuration_override_details_job_shape_config_details", job_infrastructure_configuration_override_details_job_shape_config_details)
|
|
2910
|
+
|
|
2911
|
+
_details['jobInfrastructureConfigurationOverrideDetails']['jobInfrastructureType'] = 'ME_STANDALONE'
|
|
2912
|
+
|
|
1901
2913
|
client = cli_util.build_client('data_science', 'data_science', ctx)
|
|
1902
2914
|
result = client.create_job_run(
|
|
1903
2915
|
create_job_run_details=_details,
|
|
@@ -1929,28 +2941,31 @@ def create_job_run(ctx, from_json, wait_for_state, max_wait_seconds, wait_interv
|
|
|
1929
2941
|
cli_util.render_response(result, ctx)
|
|
1930
2942
|
|
|
1931
2943
|
|
|
1932
|
-
@job_run_group.command(name=cli_util.override('data_science.
|
|
2944
|
+
@job_run_group.command(name=cli_util.override('data_science.create_job_run_standalone_job_infrastructure_configuration_details.command_name', 'create-job-run-standalone-job-infrastructure-configuration-details'), help=u"""Creates a job run. \n[Command Reference](createJobRun)""")
|
|
1933
2945
|
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate the job run with.""")
|
|
1934
2946
|
@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the job run.""")
|
|
1935
2947
|
@cli_util.option('--job-id', required=True, help=u"""The [OCID] of the job to create a run for.""")
|
|
2948
|
+
@cli_util.option('--job-infrastructure-configuration-override-details-shape-name', required=True, help=u"""The shape used to launch the job run instances.""")
|
|
2949
|
+
@cli_util.option('--job-infrastructure-configuration-override-details-subnet-id', required=True, help=u"""The subnet to create a secondary vnic in to attach to the instance running the job""")
|
|
2950
|
+
@cli_util.option('--job-infrastructure-configuration-override-details-block-storage-size-in-gbs', required=True, type=click.INT, help=u"""The size of the block storage volume to attach to the instance running the job""")
|
|
1936
2951
|
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource.""")
|
|
2952
|
+
@cli_util.option('--job-configuration-override-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1937
2953
|
@cli_util.option('--job-log-configuration-override-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1938
2954
|
@cli_util.option('--job-environment-configuration-override-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2955
|
+
@cli_util.option('--job-node-configuration-override-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1939
2956
|
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. See [Resource Tags]. Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1940
2957
|
@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. See [Resource Tags]. Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1941
2958
|
@cli_util.option('--opc-parent-rpt-url', help=u"""URL to fetch the Resource Principal Token from the parent resource.""")
|
|
1942
|
-
@cli_util.option('--job-configuration-override-details-
|
|
1943
|
-
@cli_util.option('--job-configuration-override-details-command-line-arguments', help=u"""The arguments to pass to the job.""")
|
|
1944
|
-
@cli_util.option('--job-configuration-override-details-maximum-runtime-in-minutes', type=click.INT, help=u"""A time bound for the execution of the job. Timer starts when the job becomes active.""")
|
|
2959
|
+
@cli_util.option('--job-infrastructure-configuration-override-details-job-shape-config-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
1945
2960
|
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "DELETED", "NEEDS_ATTENTION"]), 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.""")
|
|
1946
2961
|
@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.""")
|
|
1947
2962
|
@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.""")
|
|
1948
|
-
@json_skeleton_utils.get_cli_json_input_option({'job-log-configuration-override-details': {'module': 'data_science', 'class': 'JobLogConfigurationDetails'}, 'job-environment-configuration-override-details': {'module': 'data_science', 'class': 'JobEnvironmentConfigurationDetails'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}, 'job-configuration-override-details-
|
|
2963
|
+
@json_skeleton_utils.get_cli_json_input_option({'job-configuration-override-details': {'module': 'data_science', 'class': 'JobConfigurationDetails'}, 'job-log-configuration-override-details': {'module': 'data_science', 'class': 'JobLogConfigurationDetails'}, 'job-environment-configuration-override-details': {'module': 'data_science', 'class': 'JobEnvironmentConfigurationDetails'}, 'job-node-configuration-override-details': {'module': 'data_science', 'class': 'JobNodeConfigurationDetails'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}, 'job-infrastructure-configuration-override-details-job-shape-config-details': {'module': 'data_science', 'class': 'JobShapeConfigDetails'}})
|
|
1949
2964
|
@cli_util.help_option
|
|
1950
2965
|
@click.pass_context
|
|
1951
|
-
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'job-log-configuration-override-details': {'module': 'data_science', 'class': 'JobLogConfigurationDetails'}, 'job-environment-configuration-override-details': {'module': 'data_science', 'class': 'JobEnvironmentConfigurationDetails'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}, 'job-configuration-override-details-
|
|
2966
|
+
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'job-configuration-override-details': {'module': 'data_science', 'class': 'JobConfigurationDetails'}, 'job-log-configuration-override-details': {'module': 'data_science', 'class': 'JobLogConfigurationDetails'}, 'job-environment-configuration-override-details': {'module': 'data_science', 'class': 'JobEnvironmentConfigurationDetails'}, 'job-node-configuration-override-details': {'module': 'data_science', 'class': 'JobNodeConfigurationDetails'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}, 'job-infrastructure-configuration-override-details-job-shape-config-details': {'module': 'data_science', 'class': 'JobShapeConfigDetails'}}, output_type={'module': 'data_science', 'class': 'JobRun'})
|
|
1952
2967
|
@cli_util.wrap_exceptions
|
|
1953
|
-
def
|
|
2968
|
+
def create_job_run_standalone_job_infrastructure_configuration_details(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_seconds, project_id, compartment_id, job_id, job_infrastructure_configuration_override_details_shape_name, job_infrastructure_configuration_override_details_subnet_id, job_infrastructure_configuration_override_details_block_storage_size_in_gbs, display_name, job_configuration_override_details, job_log_configuration_override_details, job_environment_configuration_override_details, job_node_configuration_override_details, freeform_tags, defined_tags, opc_parent_rpt_url, job_infrastructure_configuration_override_details_job_shape_config_details):
|
|
1954
2969
|
|
|
1955
2970
|
kwargs = {}
|
|
1956
2971
|
if opc_parent_rpt_url is not None:
|
|
@@ -1958,36 +2973,39 @@ def create_job_run_default_job_configuration_details(ctx, from_json, wait_for_st
|
|
|
1958
2973
|
kwargs['opc_request_id'] = cli_util.use_or_generate_request_id(ctx.obj['request_id'])
|
|
1959
2974
|
|
|
1960
2975
|
_details = {}
|
|
1961
|
-
_details['
|
|
2976
|
+
_details['jobInfrastructureConfigurationOverrideDetails'] = {}
|
|
1962
2977
|
_details['projectId'] = project_id
|
|
1963
2978
|
_details['compartmentId'] = compartment_id
|
|
1964
2979
|
_details['jobId'] = job_id
|
|
2980
|
+
_details['jobInfrastructureConfigurationOverrideDetails']['shapeName'] = job_infrastructure_configuration_override_details_shape_name
|
|
2981
|
+
_details['jobInfrastructureConfigurationOverrideDetails']['subnetId'] = job_infrastructure_configuration_override_details_subnet_id
|
|
2982
|
+
_details['jobInfrastructureConfigurationOverrideDetails']['blockStorageSizeInGBs'] = job_infrastructure_configuration_override_details_block_storage_size_in_gbs
|
|
1965
2983
|
|
|
1966
2984
|
if display_name is not None:
|
|
1967
2985
|
_details['displayName'] = display_name
|
|
1968
2986
|
|
|
2987
|
+
if job_configuration_override_details is not None:
|
|
2988
|
+
_details['jobConfigurationOverrideDetails'] = cli_util.parse_json_parameter("job_configuration_override_details", job_configuration_override_details)
|
|
2989
|
+
|
|
1969
2990
|
if job_log_configuration_override_details is not None:
|
|
1970
2991
|
_details['jobLogConfigurationOverrideDetails'] = cli_util.parse_json_parameter("job_log_configuration_override_details", job_log_configuration_override_details)
|
|
1971
2992
|
|
|
1972
2993
|
if job_environment_configuration_override_details is not None:
|
|
1973
2994
|
_details['jobEnvironmentConfigurationOverrideDetails'] = cli_util.parse_json_parameter("job_environment_configuration_override_details", job_environment_configuration_override_details)
|
|
1974
2995
|
|
|
2996
|
+
if job_node_configuration_override_details is not None:
|
|
2997
|
+
_details['jobNodeConfigurationOverrideDetails'] = cli_util.parse_json_parameter("job_node_configuration_override_details", job_node_configuration_override_details)
|
|
2998
|
+
|
|
1975
2999
|
if freeform_tags is not None:
|
|
1976
3000
|
_details['freeformTags'] = cli_util.parse_json_parameter("freeform_tags", freeform_tags)
|
|
1977
3001
|
|
|
1978
3002
|
if defined_tags is not None:
|
|
1979
3003
|
_details['definedTags'] = cli_util.parse_json_parameter("defined_tags", defined_tags)
|
|
1980
3004
|
|
|
1981
|
-
if
|
|
1982
|
-
_details['
|
|
1983
|
-
|
|
1984
|
-
if job_configuration_override_details_command_line_arguments is not None:
|
|
1985
|
-
_details['jobConfigurationOverrideDetails']['commandLineArguments'] = job_configuration_override_details_command_line_arguments
|
|
1986
|
-
|
|
1987
|
-
if job_configuration_override_details_maximum_runtime_in_minutes is not None:
|
|
1988
|
-
_details['jobConfigurationOverrideDetails']['maximumRuntimeInMinutes'] = job_configuration_override_details_maximum_runtime_in_minutes
|
|
3005
|
+
if job_infrastructure_configuration_override_details_job_shape_config_details is not None:
|
|
3006
|
+
_details['jobInfrastructureConfigurationOverrideDetails']['jobShapeConfigDetails'] = cli_util.parse_json_parameter("job_infrastructure_configuration_override_details_job_shape_config_details", job_infrastructure_configuration_override_details_job_shape_config_details)
|
|
1989
3007
|
|
|
1990
|
-
_details['
|
|
3008
|
+
_details['jobInfrastructureConfigurationOverrideDetails']['jobInfrastructureType'] = 'STANDALONE'
|
|
1991
3009
|
|
|
1992
3010
|
client = cli_util.build_client('data_science', 'data_science', ctx)
|
|
1993
3011
|
result = client.create_job_run(
|
|
@@ -2020,30 +3038,33 @@ def create_job_run_default_job_configuration_details(ctx, from_json, wait_for_st
|
|
|
2020
3038
|
cli_util.render_response(result, ctx)
|
|
2021
3039
|
|
|
2022
3040
|
|
|
2023
|
-
@job_run_group.command(name=cli_util.override('data_science.
|
|
3041
|
+
@job_run_group.command(name=cli_util.override('data_science.create_job_run_multi_node_job_node_configuration_details.command_name', 'create-job-run-multi-node-job-node-configuration-details'), help=u"""Creates a job run. \n[Command Reference](createJobRun)""")
|
|
2024
3042
|
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate the job run with.""")
|
|
2025
3043
|
@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the job run.""")
|
|
2026
3044
|
@cli_util.option('--job-id', required=True, help=u"""The [OCID] of the job to create a run for.""")
|
|
2027
|
-
@cli_util.option('--job-environment-configuration-override-details-image', required=True, help=u"""The full path to the Oracle Container Repository (OCIR) registry, image, and tag in a canonical format. Acceptable format: `<region>.ocir.io/<registry>/<image>:<tag>` `<region>.ocir.io/<registry>/<image>:<tag>@digest`""")
|
|
2028
3045
|
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource.""")
|
|
2029
3046
|
@cli_util.option('--job-configuration-override-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2030
3047
|
@cli_util.option('--job-log-configuration-override-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
3048
|
+
@cli_util.option('--job-environment-configuration-override-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
3049
|
+
@cli_util.option('--job-infrastructure-configuration-override-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2031
3050
|
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. See [Resource Tags]. Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2032
3051
|
@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. See [Resource Tags]. Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2033
3052
|
@cli_util.option('--opc-parent-rpt-url', help=u"""URL to fetch the Resource Principal Token from the parent resource.""")
|
|
2034
|
-
@cli_util.option('--job-
|
|
2035
|
-
@cli_util.option('--job-
|
|
2036
|
-
@cli_util.option('--job-
|
|
2037
|
-
@cli_util.option('--job-
|
|
3053
|
+
@cli_util.option('--job-node-configuration-override-details-startup-order', type=custom_types.CliCaseInsensitiveChoice(["IN_ORDER", "IN_PARALLEL"]), help=u"""The execution order of node groups""")
|
|
3054
|
+
@cli_util.option('--job-node-configuration-override-details-maximum-runtime-in-minutes', type=click.INT, help=u"""A time bound for the execution of the job run. Timer starts when the job run is in progress.""")
|
|
3055
|
+
@cli_util.option('--job-node-configuration-override-details-job-network-configuration', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
3056
|
+
@cli_util.option('--job-node-configuration-override-details-job-node-group-configuration-details-list', type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of JobNodeGroupConfigurationDetails
|
|
3057
|
+
|
|
3058
|
+
This option is a JSON list with items of type JobNodeGroupConfigurationDetails. For documentation on JobNodeGroupConfigurationDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/datascience/20190101/datatypes/JobNodeGroupConfigurationDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
2038
3059
|
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "DELETED", "NEEDS_ATTENTION"]), 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.""")
|
|
2039
3060
|
@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.""")
|
|
2040
3061
|
@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.""")
|
|
2041
|
-
@json_skeleton_utils.get_cli_json_input_option({'job-configuration-override-details': {'module': 'data_science', 'class': 'JobConfigurationDetails'}, 'job-log-configuration-override-details': {'module': 'data_science', 'class': 'JobLogConfigurationDetails'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}, 'job-
|
|
3062
|
+
@json_skeleton_utils.get_cli_json_input_option({'job-configuration-override-details': {'module': 'data_science', 'class': 'JobConfigurationDetails'}, 'job-log-configuration-override-details': {'module': 'data_science', 'class': 'JobLogConfigurationDetails'}, 'job-environment-configuration-override-details': {'module': 'data_science', 'class': 'JobEnvironmentConfigurationDetails'}, 'job-infrastructure-configuration-override-details': {'module': 'data_science', 'class': 'JobInfrastructureConfigurationDetails'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}, 'job-node-configuration-override-details-job-network-configuration': {'module': 'data_science', 'class': 'JobNetworkConfiguration'}, 'job-node-configuration-override-details-job-node-group-configuration-details-list': {'module': 'data_science', 'class': 'list[JobNodeGroupConfigurationDetails]'}})
|
|
2042
3063
|
@cli_util.help_option
|
|
2043
3064
|
@click.pass_context
|
|
2044
|
-
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'job-configuration-override-details': {'module': 'data_science', 'class': 'JobConfigurationDetails'}, 'job-log-configuration-override-details': {'module': 'data_science', 'class': 'JobLogConfigurationDetails'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}, 'job-
|
|
3065
|
+
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'job-configuration-override-details': {'module': 'data_science', 'class': 'JobConfigurationDetails'}, 'job-log-configuration-override-details': {'module': 'data_science', 'class': 'JobLogConfigurationDetails'}, 'job-environment-configuration-override-details': {'module': 'data_science', 'class': 'JobEnvironmentConfigurationDetails'}, 'job-infrastructure-configuration-override-details': {'module': 'data_science', 'class': 'JobInfrastructureConfigurationDetails'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}, 'job-node-configuration-override-details-job-network-configuration': {'module': 'data_science', 'class': 'JobNetworkConfiguration'}, 'job-node-configuration-override-details-job-node-group-configuration-details-list': {'module': 'data_science', 'class': 'list[JobNodeGroupConfigurationDetails]'}}, output_type={'module': 'data_science', 'class': 'JobRun'})
|
|
2045
3066
|
@cli_util.wrap_exceptions
|
|
2046
|
-
def
|
|
3067
|
+
def create_job_run_multi_node_job_node_configuration_details(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_seconds, project_id, compartment_id, job_id, display_name, job_configuration_override_details, job_log_configuration_override_details, job_environment_configuration_override_details, job_infrastructure_configuration_override_details, freeform_tags, defined_tags, opc_parent_rpt_url, job_node_configuration_override_details_startup_order, job_node_configuration_override_details_maximum_runtime_in_minutes, job_node_configuration_override_details_job_network_configuration, job_node_configuration_override_details_job_node_group_configuration_details_list):
|
|
2047
3068
|
|
|
2048
3069
|
kwargs = {}
|
|
2049
3070
|
if opc_parent_rpt_url is not None:
|
|
@@ -2051,11 +3072,10 @@ def create_job_run_ocir_container_job_environment_configuration_details(ctx, fro
|
|
|
2051
3072
|
kwargs['opc_request_id'] = cli_util.use_or_generate_request_id(ctx.obj['request_id'])
|
|
2052
3073
|
|
|
2053
3074
|
_details = {}
|
|
2054
|
-
_details['
|
|
3075
|
+
_details['jobNodeConfigurationOverrideDetails'] = {}
|
|
2055
3076
|
_details['projectId'] = project_id
|
|
2056
3077
|
_details['compartmentId'] = compartment_id
|
|
2057
3078
|
_details['jobId'] = job_id
|
|
2058
|
-
_details['jobEnvironmentConfigurationOverrideDetails']['image'] = job_environment_configuration_override_details_image
|
|
2059
3079
|
|
|
2060
3080
|
if display_name is not None:
|
|
2061
3081
|
_details['displayName'] = display_name
|
|
@@ -2066,25 +3086,31 @@ def create_job_run_ocir_container_job_environment_configuration_details(ctx, fro
|
|
|
2066
3086
|
if job_log_configuration_override_details is not None:
|
|
2067
3087
|
_details['jobLogConfigurationOverrideDetails'] = cli_util.parse_json_parameter("job_log_configuration_override_details", job_log_configuration_override_details)
|
|
2068
3088
|
|
|
3089
|
+
if job_environment_configuration_override_details is not None:
|
|
3090
|
+
_details['jobEnvironmentConfigurationOverrideDetails'] = cli_util.parse_json_parameter("job_environment_configuration_override_details", job_environment_configuration_override_details)
|
|
3091
|
+
|
|
3092
|
+
if job_infrastructure_configuration_override_details is not None:
|
|
3093
|
+
_details['jobInfrastructureConfigurationOverrideDetails'] = cli_util.parse_json_parameter("job_infrastructure_configuration_override_details", job_infrastructure_configuration_override_details)
|
|
3094
|
+
|
|
2069
3095
|
if freeform_tags is not None:
|
|
2070
3096
|
_details['freeformTags'] = cli_util.parse_json_parameter("freeform_tags", freeform_tags)
|
|
2071
3097
|
|
|
2072
3098
|
if defined_tags is not None:
|
|
2073
3099
|
_details['definedTags'] = cli_util.parse_json_parameter("defined_tags", defined_tags)
|
|
2074
3100
|
|
|
2075
|
-
if
|
|
2076
|
-
_details['
|
|
3101
|
+
if job_node_configuration_override_details_startup_order is not None:
|
|
3102
|
+
_details['jobNodeConfigurationOverrideDetails']['startupOrder'] = job_node_configuration_override_details_startup_order
|
|
2077
3103
|
|
|
2078
|
-
if
|
|
2079
|
-
_details['
|
|
3104
|
+
if job_node_configuration_override_details_maximum_runtime_in_minutes is not None:
|
|
3105
|
+
_details['jobNodeConfigurationOverrideDetails']['maximumRuntimeInMinutes'] = job_node_configuration_override_details_maximum_runtime_in_minutes
|
|
2080
3106
|
|
|
2081
|
-
if
|
|
2082
|
-
_details['
|
|
3107
|
+
if job_node_configuration_override_details_job_network_configuration is not None:
|
|
3108
|
+
_details['jobNodeConfigurationOverrideDetails']['jobNetworkConfiguration'] = cli_util.parse_json_parameter("job_node_configuration_override_details_job_network_configuration", job_node_configuration_override_details_job_network_configuration)
|
|
2083
3109
|
|
|
2084
|
-
if
|
|
2085
|
-
_details['
|
|
3110
|
+
if job_node_configuration_override_details_job_node_group_configuration_details_list is not None:
|
|
3111
|
+
_details['jobNodeConfigurationOverrideDetails']['jobNodeGroupConfigurationDetailsList'] = cli_util.parse_json_parameter("job_node_configuration_override_details_job_node_group_configuration_details_list", job_node_configuration_override_details_job_node_group_configuration_details_list)
|
|
2086
3112
|
|
|
2087
|
-
_details['
|
|
3113
|
+
_details['jobNodeConfigurationOverrideDetails']['jobNodeType'] = 'MULTI_NODE'
|
|
2088
3114
|
|
|
2089
3115
|
client = cli_util.build_client('data_science', 'data_science', ctx)
|
|
2090
3116
|
result = client.create_job_run(
|
|
@@ -3773,6 +4799,7 @@ def create_pipeline_pipeline_default_configuration_details(ctx, from_json, wait_
|
|
|
3773
4799
|
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource.""")
|
|
3774
4800
|
@cli_util.option('--configuration-override-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
3775
4801
|
@cli_util.option('--log-configuration-override-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
4802
|
+
@cli_util.option('--infrastructure-configuration-override-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
3776
4803
|
@cli_util.option('--step-override-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Array of step override details. Only Step Configuration is allowed to be overridden.
|
|
3777
4804
|
|
|
3778
4805
|
This option is a JSON list with items of type PipelineStepOverrideDetails. For documentation on PipelineStepOverrideDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/datascience/20190101/datatypes/PipelineStepOverrideDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
@@ -3783,12 +4810,12 @@ This option is a JSON list with items of type PipelineStepOverrideDetails. For
|
|
|
3783
4810
|
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "DELETING", "DELETED"]), 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.""")
|
|
3784
4811
|
@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.""")
|
|
3785
4812
|
@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.""")
|
|
3786
|
-
@json_skeleton_utils.get_cli_json_input_option({'configuration-override-details': {'module': 'data_science', 'class': 'PipelineConfigurationDetails'}, 'log-configuration-override-details': {'module': 'data_science', 'class': 'PipelineLogConfigurationDetails'}, 'step-override-details': {'module': 'data_science', 'class': 'list[PipelineStepOverrideDetails]'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}, 'system-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}})
|
|
4813
|
+
@json_skeleton_utils.get_cli_json_input_option({'configuration-override-details': {'module': 'data_science', 'class': 'PipelineConfigurationDetails'}, 'log-configuration-override-details': {'module': 'data_science', 'class': 'PipelineLogConfigurationDetails'}, 'infrastructure-configuration-override-details': {'module': 'data_science', 'class': 'PipelineInfrastructureConfigurationDetails'}, 'step-override-details': {'module': 'data_science', 'class': 'list[PipelineStepOverrideDetails]'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}, 'system-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}})
|
|
3787
4814
|
@cli_util.help_option
|
|
3788
4815
|
@click.pass_context
|
|
3789
|
-
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'configuration-override-details': {'module': 'data_science', 'class': 'PipelineConfigurationDetails'}, 'log-configuration-override-details': {'module': 'data_science', 'class': 'PipelineLogConfigurationDetails'}, 'step-override-details': {'module': 'data_science', 'class': 'list[PipelineStepOverrideDetails]'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}, 'system-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}}, output_type={'module': 'data_science', 'class': 'PipelineRun'})
|
|
4816
|
+
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'configuration-override-details': {'module': 'data_science', 'class': 'PipelineConfigurationDetails'}, 'log-configuration-override-details': {'module': 'data_science', 'class': 'PipelineLogConfigurationDetails'}, 'infrastructure-configuration-override-details': {'module': 'data_science', 'class': 'PipelineInfrastructureConfigurationDetails'}, 'step-override-details': {'module': 'data_science', 'class': 'list[PipelineStepOverrideDetails]'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}, 'system-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}}, output_type={'module': 'data_science', 'class': 'PipelineRun'})
|
|
3790
4817
|
@cli_util.wrap_exceptions
|
|
3791
|
-
def create_pipeline_run(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_seconds, compartment_id, pipeline_id, project_id, display_name, configuration_override_details, log_configuration_override_details, step_override_details, freeform_tags, defined_tags, system_tags, opc_parent_rpt_url):
|
|
4818
|
+
def create_pipeline_run(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_seconds, compartment_id, pipeline_id, project_id, display_name, configuration_override_details, log_configuration_override_details, infrastructure_configuration_override_details, step_override_details, freeform_tags, defined_tags, system_tags, opc_parent_rpt_url):
|
|
3792
4819
|
|
|
3793
4820
|
kwargs = {}
|
|
3794
4821
|
if opc_parent_rpt_url is not None:
|
|
@@ -3811,6 +4838,9 @@ def create_pipeline_run(ctx, from_json, wait_for_state, max_wait_seconds, wait_i
|
|
|
3811
4838
|
if log_configuration_override_details is not None:
|
|
3812
4839
|
_details['logConfigurationOverrideDetails'] = cli_util.parse_json_parameter("log_configuration_override_details", log_configuration_override_details)
|
|
3813
4840
|
|
|
4841
|
+
if infrastructure_configuration_override_details is not None:
|
|
4842
|
+
_details['infrastructureConfigurationOverrideDetails'] = cli_util.parse_json_parameter("infrastructure_configuration_override_details", infrastructure_configuration_override_details)
|
|
4843
|
+
|
|
3814
4844
|
if step_override_details is not None:
|
|
3815
4845
|
_details['stepOverrideDetails'] = cli_util.parse_json_parameter("step_override_details", step_override_details)
|
|
3816
4846
|
|
|
@@ -3860,6 +4890,7 @@ def create_pipeline_run(ctx, from_json, wait_for_state, max_wait_seconds, wait_i
|
|
|
3860
4890
|
@cli_util.option('--project-id', help=u"""The [OCID] of the project to associate the pipeline run with.""")
|
|
3861
4891
|
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource.""")
|
|
3862
4892
|
@cli_util.option('--log-configuration-override-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
4893
|
+
@cli_util.option('--infrastructure-configuration-override-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
3863
4894
|
@cli_util.option('--step-override-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Array of step override details. Only Step Configuration is allowed to be overridden.
|
|
3864
4895
|
|
|
3865
4896
|
This option is a JSON list with items of type PipelineStepOverrideDetails. For documentation on PipelineStepOverrideDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/datascience/20190101/datatypes/PipelineStepOverrideDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
@@ -3873,12 +4904,12 @@ This option is a JSON list with items of type PipelineStepOverrideDetails. For
|
|
|
3873
4904
|
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "DELETING", "DELETED"]), 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.""")
|
|
3874
4905
|
@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.""")
|
|
3875
4906
|
@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.""")
|
|
3876
|
-
@json_skeleton_utils.get_cli_json_input_option({'log-configuration-override-details': {'module': 'data_science', 'class': 'PipelineLogConfigurationDetails'}, 'step-override-details': {'module': 'data_science', 'class': 'list[PipelineStepOverrideDetails]'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}, 'system-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}, 'configuration-override-details-environment-variables': {'module': 'data_science', 'class': 'dict(str, string)'}})
|
|
4907
|
+
@json_skeleton_utils.get_cli_json_input_option({'log-configuration-override-details': {'module': 'data_science', 'class': 'PipelineLogConfigurationDetails'}, 'infrastructure-configuration-override-details': {'module': 'data_science', 'class': 'PipelineInfrastructureConfigurationDetails'}, 'step-override-details': {'module': 'data_science', 'class': 'list[PipelineStepOverrideDetails]'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}, 'system-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}, 'configuration-override-details-environment-variables': {'module': 'data_science', 'class': 'dict(str, string)'}})
|
|
3877
4908
|
@cli_util.help_option
|
|
3878
4909
|
@click.pass_context
|
|
3879
|
-
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'log-configuration-override-details': {'module': 'data_science', 'class': 'PipelineLogConfigurationDetails'}, 'step-override-details': {'module': 'data_science', 'class': 'list[PipelineStepOverrideDetails]'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}, 'system-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}, 'configuration-override-details-environment-variables': {'module': 'data_science', 'class': 'dict(str, string)'}}, output_type={'module': 'data_science', 'class': 'PipelineRun'})
|
|
4910
|
+
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'log-configuration-override-details': {'module': 'data_science', 'class': 'PipelineLogConfigurationDetails'}, 'infrastructure-configuration-override-details': {'module': 'data_science', 'class': 'PipelineInfrastructureConfigurationDetails'}, 'step-override-details': {'module': 'data_science', 'class': 'list[PipelineStepOverrideDetails]'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}, 'system-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}, 'configuration-override-details-environment-variables': {'module': 'data_science', 'class': 'dict(str, string)'}}, output_type={'module': 'data_science', 'class': 'PipelineRun'})
|
|
3880
4911
|
@cli_util.wrap_exceptions
|
|
3881
|
-
def create_pipeline_run_pipeline_default_configuration_details(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_seconds, compartment_id, pipeline_id, project_id, display_name, log_configuration_override_details, step_override_details, freeform_tags, defined_tags, system_tags, opc_parent_rpt_url, configuration_override_details_maximum_runtime_in_minutes, configuration_override_details_environment_variables, configuration_override_details_command_line_arguments):
|
|
4912
|
+
def create_pipeline_run_pipeline_default_configuration_details(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_seconds, compartment_id, pipeline_id, project_id, display_name, log_configuration_override_details, infrastructure_configuration_override_details, step_override_details, freeform_tags, defined_tags, system_tags, opc_parent_rpt_url, configuration_override_details_maximum_runtime_in_minutes, configuration_override_details_environment_variables, configuration_override_details_command_line_arguments):
|
|
3882
4913
|
|
|
3883
4914
|
kwargs = {}
|
|
3884
4915
|
if opc_parent_rpt_url is not None:
|
|
@@ -3899,6 +4930,9 @@ def create_pipeline_run_pipeline_default_configuration_details(ctx, from_json, w
|
|
|
3899
4930
|
if log_configuration_override_details is not None:
|
|
3900
4931
|
_details['logConfigurationOverrideDetails'] = cli_util.parse_json_parameter("log_configuration_override_details", log_configuration_override_details)
|
|
3901
4932
|
|
|
4933
|
+
if infrastructure_configuration_override_details is not None:
|
|
4934
|
+
_details['infrastructureConfigurationOverrideDetails'] = cli_util.parse_json_parameter("infrastructure_configuration_override_details", infrastructure_configuration_override_details)
|
|
4935
|
+
|
|
3902
4936
|
if step_override_details is not None:
|
|
3903
4937
|
_details['stepOverrideDetails'] = cli_util.parse_json_parameter("step_override_details", step_override_details)
|
|
3904
4938
|
|
|
@@ -9565,6 +10599,184 @@ def update_job(ctx, from_json, force, wait_for_state, max_wait_seconds, wait_int
|
|
|
9565
10599
|
cli_util.render_response(result, ctx)
|
|
9566
10600
|
|
|
9567
10601
|
|
|
10602
|
+
@job_group.command(name=cli_util.override('data_science.update_job_multi_node_job_infrastructure_configuration_details.command_name', 'update-job-multi-node-job-infrastructure-configuration-details'), help=u"""Updates a job. \n[Command Reference](updateJob)""")
|
|
10603
|
+
@cli_util.option('--job-id', required=True, help=u"""The [OCID] of the job.""")
|
|
10604
|
+
@cli_util.option('--job-infrastructure-configuration-details-shape-name', required=True, help=u"""The name that corresponds to the JobShapeSummary to use for the job node""")
|
|
10605
|
+
@cli_util.option('--job-infrastructure-configuration-details-block-storage-size-in-gbs', required=True, type=click.INT, help=u"""The size of the block storage volume to attach to the instance running the job""")
|
|
10606
|
+
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource.""")
|
|
10607
|
+
@cli_util.option('--description', help=u"""A short description of the job.""")
|
|
10608
|
+
@cli_util.option('--job-storage-mount-configuration-details-list', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Collection of JobStorageMountConfigurationDetails.
|
|
10609
|
+
|
|
10610
|
+
This option is a JSON list with items of type StorageMountConfigurationDetails. For documentation on StorageMountConfigurationDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/datascience/20190101/datatypes/StorageMountConfigurationDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
10611
|
+
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. See [Resource Tags]. Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
10612
|
+
@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. See [Resource Tags]. Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
10613
|
+
@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 is updated or deleted only if the `etag` you provide matches the resource's current `etag` value.""")
|
|
10614
|
+
@cli_util.option('--job-infrastructure-configuration-details-job-shape-config-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
10615
|
+
@cli_util.option('--force', help="""Perform update without prompting for confirmation.""", is_flag=True)
|
|
10616
|
+
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "DELETING", "FAILED", "DELETED"]), 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.""")
|
|
10617
|
+
@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.""")
|
|
10618
|
+
@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.""")
|
|
10619
|
+
@json_skeleton_utils.get_cli_json_input_option({'job-storage-mount-configuration-details-list': {'module': 'data_science', 'class': 'list[StorageMountConfigurationDetails]'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}, 'job-infrastructure-configuration-details-job-shape-config-details': {'module': 'data_science', 'class': 'JobShapeConfigDetails'}})
|
|
10620
|
+
@cli_util.help_option
|
|
10621
|
+
@click.pass_context
|
|
10622
|
+
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'job-storage-mount-configuration-details-list': {'module': 'data_science', 'class': 'list[StorageMountConfigurationDetails]'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}, 'job-infrastructure-configuration-details-job-shape-config-details': {'module': 'data_science', 'class': 'JobShapeConfigDetails'}}, output_type={'module': 'data_science', 'class': 'Job'})
|
|
10623
|
+
@cli_util.wrap_exceptions
|
|
10624
|
+
def update_job_multi_node_job_infrastructure_configuration_details(ctx, from_json, force, wait_for_state, max_wait_seconds, wait_interval_seconds, job_id, job_infrastructure_configuration_details_shape_name, job_infrastructure_configuration_details_block_storage_size_in_gbs, display_name, description, job_storage_mount_configuration_details_list, freeform_tags, defined_tags, if_match, job_infrastructure_configuration_details_job_shape_config_details):
|
|
10625
|
+
|
|
10626
|
+
if isinstance(job_id, six.string_types) and len(job_id.strip()) == 0:
|
|
10627
|
+
raise click.UsageError('Parameter --job-id cannot be whitespace or empty string')
|
|
10628
|
+
if not force:
|
|
10629
|
+
if job_storage_mount_configuration_details_list or freeform_tags or defined_tags:
|
|
10630
|
+
if not click.confirm("WARNING: Updates to job-storage-mount-configuration-details-list and freeform-tags and defined-tags will replace any existing values. Are you sure you want to continue?"):
|
|
10631
|
+
ctx.abort()
|
|
10632
|
+
|
|
10633
|
+
kwargs = {}
|
|
10634
|
+
if if_match is not None:
|
|
10635
|
+
kwargs['if_match'] = if_match
|
|
10636
|
+
kwargs['opc_request_id'] = cli_util.use_or_generate_request_id(ctx.obj['request_id'])
|
|
10637
|
+
|
|
10638
|
+
_details = {}
|
|
10639
|
+
_details['jobInfrastructureConfigurationDetails'] = {}
|
|
10640
|
+
_details['jobInfrastructureConfigurationDetails']['shapeName'] = job_infrastructure_configuration_details_shape_name
|
|
10641
|
+
_details['jobInfrastructureConfigurationDetails']['blockStorageSizeInGBs'] = job_infrastructure_configuration_details_block_storage_size_in_gbs
|
|
10642
|
+
|
|
10643
|
+
if display_name is not None:
|
|
10644
|
+
_details['displayName'] = display_name
|
|
10645
|
+
|
|
10646
|
+
if description is not None:
|
|
10647
|
+
_details['description'] = description
|
|
10648
|
+
|
|
10649
|
+
if job_storage_mount_configuration_details_list is not None:
|
|
10650
|
+
_details['jobStorageMountConfigurationDetailsList'] = cli_util.parse_json_parameter("job_storage_mount_configuration_details_list", job_storage_mount_configuration_details_list)
|
|
10651
|
+
|
|
10652
|
+
if freeform_tags is not None:
|
|
10653
|
+
_details['freeformTags'] = cli_util.parse_json_parameter("freeform_tags", freeform_tags)
|
|
10654
|
+
|
|
10655
|
+
if defined_tags is not None:
|
|
10656
|
+
_details['definedTags'] = cli_util.parse_json_parameter("defined_tags", defined_tags)
|
|
10657
|
+
|
|
10658
|
+
if job_infrastructure_configuration_details_job_shape_config_details is not None:
|
|
10659
|
+
_details['jobInfrastructureConfigurationDetails']['jobShapeConfigDetails'] = cli_util.parse_json_parameter("job_infrastructure_configuration_details_job_shape_config_details", job_infrastructure_configuration_details_job_shape_config_details)
|
|
10660
|
+
|
|
10661
|
+
_details['jobInfrastructureConfigurationDetails']['jobInfrastructureType'] = 'MULTI_NODE'
|
|
10662
|
+
|
|
10663
|
+
client = cli_util.build_client('data_science', 'data_science', ctx)
|
|
10664
|
+
result = client.update_job(
|
|
10665
|
+
job_id=job_id,
|
|
10666
|
+
update_job_details=_details,
|
|
10667
|
+
**kwargs
|
|
10668
|
+
)
|
|
10669
|
+
if wait_for_state:
|
|
10670
|
+
|
|
10671
|
+
if hasattr(client, 'get_job') and callable(getattr(client, 'get_job')):
|
|
10672
|
+
try:
|
|
10673
|
+
wait_period_kwargs = {}
|
|
10674
|
+
if max_wait_seconds is not None:
|
|
10675
|
+
wait_period_kwargs['max_wait_seconds'] = max_wait_seconds
|
|
10676
|
+
if wait_interval_seconds is not None:
|
|
10677
|
+
wait_period_kwargs['max_interval_seconds'] = wait_interval_seconds
|
|
10678
|
+
|
|
10679
|
+
click.echo('Action completed. Waiting until the resource has entered state: {}'.format(wait_for_state), file=sys.stderr)
|
|
10680
|
+
result = oci.wait_until(client, client.get_job(result.data.id), 'lifecycle_state', wait_for_state, **wait_period_kwargs)
|
|
10681
|
+
except oci.exceptions.MaximumWaitTimeExceeded as e:
|
|
10682
|
+
# If we fail, we should show an error, but we should still provide the information to the customer
|
|
10683
|
+
click.echo('Failed to wait until the resource entered the specified state. Outputting last known resource state', file=sys.stderr)
|
|
10684
|
+
cli_util.render_response(result, ctx)
|
|
10685
|
+
sys.exit(2)
|
|
10686
|
+
except Exception:
|
|
10687
|
+
click.echo('Encountered error while waiting for resource to enter the specified state. Outputting last known resource state', file=sys.stderr)
|
|
10688
|
+
cli_util.render_response(result, ctx)
|
|
10689
|
+
raise
|
|
10690
|
+
else:
|
|
10691
|
+
click.echo('Unable to wait for the resource to enter the specified state', file=sys.stderr)
|
|
10692
|
+
cli_util.render_response(result, ctx)
|
|
10693
|
+
|
|
10694
|
+
|
|
10695
|
+
@job_group.command(name=cli_util.override('data_science.update_job_empty_job_infrastructure_configuration_details.command_name', 'update-job-empty-job-infrastructure-configuration-details'), help=u"""Updates a job. \n[Command Reference](updateJob)""")
|
|
10696
|
+
@cli_util.option('--job-id', required=True, help=u"""The [OCID] of the job.""")
|
|
10697
|
+
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource.""")
|
|
10698
|
+
@cli_util.option('--description', help=u"""A short description of the job.""")
|
|
10699
|
+
@cli_util.option('--job-storage-mount-configuration-details-list', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Collection of JobStorageMountConfigurationDetails.
|
|
10700
|
+
|
|
10701
|
+
This option is a JSON list with items of type StorageMountConfigurationDetails. For documentation on StorageMountConfigurationDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/datascience/20190101/datatypes/StorageMountConfigurationDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
10702
|
+
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. See [Resource Tags]. Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
10703
|
+
@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. See [Resource Tags]. Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
|
|
10704
|
+
@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 is updated or deleted only if the `etag` you provide matches the resource's current `etag` value.""")
|
|
10705
|
+
@cli_util.option('--force', help="""Perform update without prompting for confirmation.""", is_flag=True)
|
|
10706
|
+
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "DELETING", "FAILED", "DELETED"]), 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.""")
|
|
10707
|
+
@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.""")
|
|
10708
|
+
@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.""")
|
|
10709
|
+
@json_skeleton_utils.get_cli_json_input_option({'job-storage-mount-configuration-details-list': {'module': 'data_science', 'class': 'list[StorageMountConfigurationDetails]'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}})
|
|
10710
|
+
@cli_util.help_option
|
|
10711
|
+
@click.pass_context
|
|
10712
|
+
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'job-storage-mount-configuration-details-list': {'module': 'data_science', 'class': 'list[StorageMountConfigurationDetails]'}, 'freeform-tags': {'module': 'data_science', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'data_science', 'class': 'dict(str, dict(str, object))'}}, output_type={'module': 'data_science', 'class': 'Job'})
|
|
10713
|
+
@cli_util.wrap_exceptions
|
|
10714
|
+
def update_job_empty_job_infrastructure_configuration_details(ctx, from_json, force, wait_for_state, max_wait_seconds, wait_interval_seconds, job_id, display_name, description, job_storage_mount_configuration_details_list, freeform_tags, defined_tags, if_match):
|
|
10715
|
+
|
|
10716
|
+
if isinstance(job_id, six.string_types) and len(job_id.strip()) == 0:
|
|
10717
|
+
raise click.UsageError('Parameter --job-id cannot be whitespace or empty string')
|
|
10718
|
+
if not force:
|
|
10719
|
+
if job_storage_mount_configuration_details_list or freeform_tags or defined_tags:
|
|
10720
|
+
if not click.confirm("WARNING: Updates to job-storage-mount-configuration-details-list and freeform-tags and defined-tags will replace any existing values. Are you sure you want to continue?"):
|
|
10721
|
+
ctx.abort()
|
|
10722
|
+
|
|
10723
|
+
kwargs = {}
|
|
10724
|
+
if if_match is not None:
|
|
10725
|
+
kwargs['if_match'] = if_match
|
|
10726
|
+
kwargs['opc_request_id'] = cli_util.use_or_generate_request_id(ctx.obj['request_id'])
|
|
10727
|
+
|
|
10728
|
+
_details = {}
|
|
10729
|
+
_details['jobInfrastructureConfigurationDetails'] = {}
|
|
10730
|
+
|
|
10731
|
+
if display_name is not None:
|
|
10732
|
+
_details['displayName'] = display_name
|
|
10733
|
+
|
|
10734
|
+
if description is not None:
|
|
10735
|
+
_details['description'] = description
|
|
10736
|
+
|
|
10737
|
+
if job_storage_mount_configuration_details_list is not None:
|
|
10738
|
+
_details['jobStorageMountConfigurationDetailsList'] = cli_util.parse_json_parameter("job_storage_mount_configuration_details_list", job_storage_mount_configuration_details_list)
|
|
10739
|
+
|
|
10740
|
+
if freeform_tags is not None:
|
|
10741
|
+
_details['freeformTags'] = cli_util.parse_json_parameter("freeform_tags", freeform_tags)
|
|
10742
|
+
|
|
10743
|
+
if defined_tags is not None:
|
|
10744
|
+
_details['definedTags'] = cli_util.parse_json_parameter("defined_tags", defined_tags)
|
|
10745
|
+
|
|
10746
|
+
_details['jobInfrastructureConfigurationDetails']['jobInfrastructureType'] = 'EMPTY'
|
|
10747
|
+
|
|
10748
|
+
client = cli_util.build_client('data_science', 'data_science', ctx)
|
|
10749
|
+
result = client.update_job(
|
|
10750
|
+
job_id=job_id,
|
|
10751
|
+
update_job_details=_details,
|
|
10752
|
+
**kwargs
|
|
10753
|
+
)
|
|
10754
|
+
if wait_for_state:
|
|
10755
|
+
|
|
10756
|
+
if hasattr(client, 'get_job') and callable(getattr(client, 'get_job')):
|
|
10757
|
+
try:
|
|
10758
|
+
wait_period_kwargs = {}
|
|
10759
|
+
if max_wait_seconds is not None:
|
|
10760
|
+
wait_period_kwargs['max_wait_seconds'] = max_wait_seconds
|
|
10761
|
+
if wait_interval_seconds is not None:
|
|
10762
|
+
wait_period_kwargs['max_interval_seconds'] = wait_interval_seconds
|
|
10763
|
+
|
|
10764
|
+
click.echo('Action completed. Waiting until the resource has entered state: {}'.format(wait_for_state), file=sys.stderr)
|
|
10765
|
+
result = oci.wait_until(client, client.get_job(result.data.id), 'lifecycle_state', wait_for_state, **wait_period_kwargs)
|
|
10766
|
+
except oci.exceptions.MaximumWaitTimeExceeded as e:
|
|
10767
|
+
# If we fail, we should show an error, but we should still provide the information to the customer
|
|
10768
|
+
click.echo('Failed to wait until the resource entered the specified state. Outputting last known resource state', file=sys.stderr)
|
|
10769
|
+
cli_util.render_response(result, ctx)
|
|
10770
|
+
sys.exit(2)
|
|
10771
|
+
except Exception:
|
|
10772
|
+
click.echo('Encountered error while waiting for resource to enter the specified state. Outputting last known resource state', file=sys.stderr)
|
|
10773
|
+
cli_util.render_response(result, ctx)
|
|
10774
|
+
raise
|
|
10775
|
+
else:
|
|
10776
|
+
click.echo('Unable to wait for the resource to enter the specified state', file=sys.stderr)
|
|
10777
|
+
cli_util.render_response(result, ctx)
|
|
10778
|
+
|
|
10779
|
+
|
|
9568
10780
|
@job_group.command(name=cli_util.override('data_science.update_job_managed_egress_standalone_job_infrastructure_configuration_details.command_name', 'update-job-managed-egress-standalone-job-infrastructure-configuration-details'), help=u"""Updates a job. \n[Command Reference](updateJob)""")
|
|
9569
10781
|
@cli_util.option('--job-id', required=True, help=u"""The [OCID] of the job.""")
|
|
9570
10782
|
@cli_util.option('--job-infrastructure-configuration-details-shape-name', required=True, help=u"""The shape used to launch the job run instances.""")
|