Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,25 @@ All notable changes to this project will be documented in this file.

The format is based on `Keep a Changelog <http://keepachangelog.com/>`__.

3.90.3 - 2026-08-18
-------------------
Added
~~~~~
* Database service

* Support for creating a database from another database (out-of-place restore / iRestore)

* ``oci db database create-database-from-database``
* ``oci db database create-from-database --vm-cluster-id --source-encryption-key-location-details --sid-prefix --recovery-appliance-vpc-password``

* Support for new optional parameters and complex type support for database and Autonomous Container Database operations

* ``oci db database update --auto-failover-configuration --managed-software-update-details``

Security
~~~~~~~~
* Updated dependency constraints to support cryptography 50.x and setuptools 83.x per: https://nvd.nist.gov/vuln/detail/CVE-2026-69247 and https://nvd.nist.gov/vuln/detail/CVE-2026-59890

3.90.2 - 2026-08-11
-------------------
Added
Expand Down
7 changes: 4 additions & 3 deletions requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,15 @@ click>=8.0.4,<=8.1.2; python_version < '3.11'
click>=8.3.3,<=8.4.2; python_version >= '3.11'
coverage==6.2; python_version < '3.9'
coverage==7.10.7; python_version >= '3.9'
cryptography>=3.2.1,<50.0.0
cryptography>=3.2.1,<51.0.0
httpsig-cffi==15.0.0
Jinja2<3.0.0; python_version == '3.6'
Jinja2>=3.1.5,<4.0.0; python_version >= '3.7'
jmespath>=0.10.0,<=1.0.1
importlib-metadata; python_version < '3.8'
ndg-httpsclient==0.4.2
mock==2.0.0
oci==2.184.1
oci==2.184.2
packaging==20.2; python_version < '3.7'
packaging>=21.0,<25.0; python_version >= '3.7' and python_version < '3.9'
packaging>=22.0,<25.0; python_version >= '3.9'
Expand Down Expand Up @@ -58,7 +59,7 @@ docutils==0.15.2; python_version < '3.13'
docutils==0.18.1; python_version == '3.13'
prompt-toolkit==3.0.29; python_version == '3.6'
prompt-toolkit>=3.0.38,<=3.0.43; python_version > '3.6'
setuptools>=78.1.1,<81; python_version > '3.8'
setuptools>=78.1.1,<84; python_version > '3.8'
setuptools==70.0.0; python_version == '3.8'
setuptools==68.0.0; python_version == '3.7'
setuptools==59.6.0; python_version == '3.6'
Expand Down
182 changes: 170 additions & 12 deletions services/database/src/oci_cli_database/database_cli_extended.py

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
# coding: utf-8
# Copyright (c) 2016, 2020, Oracle and/or its affiliates. All rights reserved.
# This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.

import click # noqa: F401
import json # noqa: F401
from services.generative_ai_data.src.oci_cli_generate_enrichment_job.generated import generateenrichmentjob_cli
from oci_cli import cli_util # noqa: F401
from oci_cli import custom_types # noqa: F401
from oci_cli import json_skeleton_utils # noqa: F401


# Remove generate-enrichment-job-delta-refresh-enrichment-job-configuration from oci generative-ai-data generate-enrichment-job enrichment-job
generateenrichmentjob_cli.enrichment_job_group.commands.pop(generateenrichmentjob_cli.generate_enrichment_job_delta_refresh_enrichment_job_configuration.name)


# Remove generate-enrichment-job-full-build-enrichment-job-configuration from oci generative-ai-data generate-enrichment-job enrichment-job
generateenrichmentjob_cli.enrichment_job_group.commands.pop(generateenrichmentjob_cli.generate_enrichment_job_full_build_enrichment_job_configuration.name)


# Remove generate-enrichment-job-partial-build-enrichment-job-configuration from oci generative-ai-data generate-enrichment-job enrichment-job
generateenrichmentjob_cli.enrichment_job_group.commands.pop(generateenrichmentjob_cli.generate_enrichment_job_partial_build_enrichment_job_configuration.name)
# # coding: utf-8
# # Copyright (c) 2016, 2020, Oracle and/or its affiliates. All rights reserved.
# # This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
#
# import click # noqa: F401
# import json # noqa: F401
# from services.generative_ai_data.src.oci_cli_generate_enrichment_job.generated import generateenrichmentjob_cli
# from oci_cli import cli_util # noqa: F401
# from oci_cli import custom_types # noqa: F401
# from oci_cli import json_skeleton_utils # noqa: F401
#
#
# # Remove generate-enrichment-job-delta-refresh-enrichment-job-configuration from oci generative-ai-data generate-enrichment-job enrichment-job
# generateenrichmentjob_cli.enrichment_job_group.commands.pop(generateenrichmentjob_cli.generate_enrichment_job_delta_refresh_enrichment_job_configuration.name)
#
#
# # Remove generate-enrichment-job-full-build-enrichment-job-configuration from oci generative-ai-data generate-enrichment-job enrichment-job
# generateenrichmentjob_cli.enrichment_job_group.commands.pop(generateenrichmentjob_cli.generate_enrichment_job_full_build_enrichment_job_configuration.name)
#
#
# # Remove generate-enrichment-job-partial-build-enrichment-job-configuration from oci generative-ai-data generate-enrichment-job enrichment-job
# generateenrichmentjob_cli.enrichment_job_group.commands.pop(generateenrichmentjob_cli.generate_enrichment_job_partial_build_enrichment_job_configuration.name)
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
# coding: utf-8
# Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.

import click # noqa: F401
import json # noqa: F401
from services.generative_ai_data.src.oci_cli_generate_sql_from_nl_job.generated import generatesqlfromnljob_cli
from oci_cli import cli_util # noqa: F401
from oci_cli import custom_types # noqa: F401
from oci_cli import json_skeleton_utils # noqa: F401
# Remove redundant subcommand
generatesqlfromnljob_cli.generate_sql_from_nl_job_group.commands.pop(generatesqlfromnljob_cli.generate_sql_from_nl.name)
generatesqlfromnljob_cli.generate_sql_from_nl_job_root_group.add_command(generatesqlfromnljob_cli.generate_sql_from_nl)
generatesqlfromnljob_cli.generate_sql_from_nl_job_root_group.commands.pop(generatesqlfromnljob_cli.generate_sql_from_nl_job_group.name)
# # coding: utf-8
# # Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
#
# import click # noqa: F401
# import json # noqa: F401
# from services.generative_ai_data.src.oci_cli_generate_sql_from_nl_job.generated import generatesqlfromnljob_cli
# from oci_cli import cli_util # noqa: F401
# from oci_cli import custom_types # noqa: F401
# from oci_cli import json_skeleton_utils # noqa: F401
# # Remove redundant subcommand
# generatesqlfromnljob_cli.generate_sql_from_nl_job_group.commands.pop(generatesqlfromnljob_cli.generate_sql_from_nl.name)
# generatesqlfromnljob_cli.generate_sql_from_nl_job_root_group.add_command(generatesqlfromnljob_cli.generate_sql_from_nl)
# generatesqlfromnljob_cli.generate_sql_from_nl_job_root_group.commands.pop(generatesqlfromnljob_cli.generate_sql_from_nl_job_group.name)
7 changes: 4 additions & 3 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,12 +30,13 @@ def open_relative(*path):
readme = f.read()

requires = [
'oci==2.184.1',
'oci==2.184.2',
'arrow>=1.0.0,<2.0.0',
'certifi>=2025.1.31,<2026.0.0',
'click>=8.0.4,<=8.1.2; python_version < "3.11"',
'click>=8.3.3,<=8.4.2; python_version >= "3.11"',
'cryptography>=3.2.1,<50.0.0',
'cryptography>=3.2.1,<51.0.0',
'importlib-metadata; python_version < "3.8"',
'jmespath>=0.10.0,<=1.0.1',
'python-dateutil>=2.5.3,<3.0.0',
'pytz>=2016.10,<=2026.2',
Expand All @@ -45,7 +46,7 @@ def open_relative(*path):
'PyYAML>=5.4,<=6.0.2',
'prompt-toolkit>=3.0.38,<=3.0.43; python_version > "3.6"',
'prompt-toolkit==3.0.29; python_version == "3.6"',
'setuptools>=78.1.1,<81; python_version >= "3.12"' # distutils is deprecated from 3.12, however setuptools still provides it
'setuptools>=78.1.1,<84; python_version >= "3.12"' # distutils is deprecated from 3.12, however setuptools still provides it
]

extras = {
Expand Down
27 changes: 26 additions & 1 deletion src/oci_cli/oci_template.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,32 @@

####################################################################

from pkg_resources import load_entry_point
try:
from importlib import metadata as importlib_metadata
except ImportError:
import importlib_metadata


def load_entry_point(distribution_name, group, name):
entry_points = importlib_metadata.distribution(
distribution_name
).entry_points
entry_point = next(
(
entry_point for entry_point in entry_points
if entry_point.group == group and entry_point.name == name
),
None
)
if entry_point is None:
raise ImportError(
"Entry point {!r} not found for distribution {!r}".format(
(group, name),
distribution_name
)
)
return entry_point.load()


if __name__ == '__main__':
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
Expand Down
4 changes: 2 additions & 2 deletions src/oci_cli/service_mapping.py
Original file line number Diff line number Diff line change
Expand Up @@ -559,7 +559,7 @@
"Others"
],
"multicloud": [
"omhub_cp",
"multicloud",
"Oracle Multicloud",
"Others"
],
Expand Down Expand Up @@ -589,7 +589,7 @@
"Databases"
],
"occ": [
"occ",
"oci_control_center",
"OCI Control Center",
"Others"
],
Expand Down
2 changes: 1 addition & 1 deletion src/oci_cli/version.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
# Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
# This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.

__version__ = '3.90.2'
__version__ = '3.90.3'
2 changes: 2 additions & 0 deletions tests/resources/json_ignore_command_list.txt
Original file line number Diff line number Diff line change
Expand Up @@ -613,3 +613,5 @@ opsi, opsi-private-endpoint, update
db, database, create-from-backupdata-safe, private-endpoint, update
db, database, create-from-backup
data-safe, private-endpoint, update
db, database, create-from-database
db, database, create-database-from-database