Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package oci-cli for openSUSE:Factory checked in at 2024-07-02 18:17:27 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/oci-cli (Old) and /work/SRC/openSUSE:Factory/.oci-cli.new.18349 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "oci-cli" Tue Jul 2 18:17:27 2024 rev:65 rq:1184328 version:3.43.2 Changes: -------- --- /work/SRC/openSUSE:Factory/oci-cli/oci-cli.changes 2024-06-18 22:53:07.101162095 +0200 +++ /work/SRC/openSUSE:Factory/.oci-cli.new.18349/oci-cli.changes 2024-07-02 18:17:31.073764367 +0200 @@ -1,0 +2,26 @@ +Mon Jun 24 11:11:22 UTC 2024 - John Paul Adrian Glaubitz <adrian.glaub...@suse.com> + +- Update to version 3.43.2 + * OCI AI Document Service + * Support for new document type ``INSURANCE_CLAIM`` as shown: + * ``oci ai-document analyze-document-result analyze-document + --document-type INSURANCE_CLAIM`` + * ``oci ai-document analyze-document-result analyze-document-\ + inline-document-details --document-type INSURANCE_CLAIM`` + * ``oci ai-document analyze-document-result analyze-document-\ + object-storage-document-details --document-type INSURANCE_CLAIM`` + * ``oci ai-document processor-job create-processor-job-general-\ + processor-config --processor-config-document-type INSURANCE_CLAIM`` + * OCI Database Service + * Support for adding whitelisted ips for private endpoint enabled databases. + * ``oci db autonomous-database create --whitelisted-ips`` + * ``oci db autonomous-database update --whitelisted-ips`` + * OCI Stack Monitoring Service + * Support for Microsoft IIS resource type when declaring discovery details. + * ``oci stack-monitoring discovery-job create --discovery-details`` + * Security Enhancement: Improved security for API key management. +- Refresh patches for new version + * oc_relax-python-depends.patch +- Update BuildRequires and Requires from setup.py + +------------------------------------------------------------------- Old: ---- oci-cli-3.43.1.tar.gz New: ---- oci-cli-3.43.2.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ oci-cli.spec ++++++ --- /var/tmp/diff_new_pack.oXGJkg/_old 2024-07-02 18:17:31.929795692 +0200 +++ /var/tmp/diff_new_pack.oXGJkg/_new 2024-07-02 18:17:31.933795838 +0200 @@ -36,7 +36,7 @@ %global _sitelibdir %{%{pythons}_sitelib} Name: oci-cli%{psuffix} -Version: 3.43.1 +Version: 3.43.2 Release: 0 Summary: Oracle Cloud Infrastructure CLI License: Apache-2.0 @@ -52,7 +52,7 @@ BuildRequires: %{pythons}-cryptography >= 3.2.1 BuildRequires: %{pythons}-devel BuildRequires: %{pythons}-jmespath >= 0.10.0 -BuildRequires: %{pythons}-oci-sdk >= 2.128.1 +BuildRequires: %{pythons}-oci-sdk >= 2.128.2 BuildRequires: %{pythons}-pip BuildRequires: %{pythons}-pyOpenSSL >= 22.1.0 BuildRequires: %{pythons}-python-dateutil >= 2.5.3 @@ -95,7 +95,7 @@ Requires: %{pythons}-click >= 8.0.4 Requires: %{pythons}-cryptography >= 3.2.1 Requires: %{pythons}-jmespath >= 0.10.0 -Requires: %{pythons}-oci-sdk >= 2.128.1 +Requires: %{pythons}-oci-sdk >= 2.128.2 Requires: %{pythons}-prompt_toolkit >= 3.0.38 Requires: %{pythons}-pyOpenSSL >= 22.1.0 Requires: %{pythons}-python-dateutil >= 2.5.3 ++++++ oc_relax-python-depends.patch ++++++ --- /var/tmp/diff_new_pack.oXGJkg/_old 2024-07-02 18:17:31.953796570 +0200 +++ /var/tmp/diff_new_pack.oXGJkg/_new 2024-07-02 18:17:31.957796717 +0200 @@ -1,6 +1,6 @@ -diff -Nru oci-cli-3.43.1.orig/requirements.txt oci-cli-3.43.1/requirements.txt ---- oci-cli-3.43.1.orig/requirements.txt 2024-06-11 08:05:18.000000000 +0200 -+++ oci-cli-3.43.1/requirements.txt 2024-06-18 13:47:53.003455590 +0200 +diff -Nru oci-cli-3.43.2.orig/requirements.txt oci-cli-3.43.2/requirements.txt +--- oci-cli-3.43.2.orig/requirements.txt 2024-06-18 07:36:55.000000000 +0200 ++++ oci-cli-3.43.2/requirements.txt 2024-06-24 13:07:06.473139507 +0200 @@ -2,48 +2,48 @@ # (https://pip.pypa.io/en/stable/reference/pip_install/#requirements-file-format), # you may need to use the --extra-index-url option instead. @@ -18,7 +18,7 @@ -jmespath==0.10.0 -ndg-httpsclient==0.4.2 -mock==2.0.0 --oci==2.128.1 +-oci==2.128.2 -packaging==20.2 -pluggy==0.13.0 -py==1.11.0 @@ -29,7 +29,6 @@ -pytest==4.6.10; python_version <= '3.9' -pytest==7.1.2; python_version >= '3.10' -pytest-cov==2.5.1 --python-dateutil>=2.5.3,<3.0.0 +click>=8.0.4 +coverage>=4.5.2 +cryptography>=3.2.1 @@ -38,7 +37,7 @@ +jmespath>=0.10.0 +ndg-httpsclient>=0.4.2 +mock>=2.0.0 -+oci>=2.128.1 ++oci>=2.128.2 +packaging>=20.2 +pluggy>=0.13.0 +py>=1.11.0 @@ -49,7 +48,7 @@ +pytest>=4.6.10; python_version <= '3.9' +pytest>=7.1.2; python_version >= '3.10' +pytest-cov>=2.5.1 -+python-dateutil>=2.5.3 + python-dateutil>=2.5.3,<3.0.0 pytz>=2016.10 -requests==2.21.0; python_version == '3.6' -requests==2.31.0; python_version > '3.6' @@ -86,15 +85,15 @@ +setuptools>=59.6.0; python_version == '3.6' # this is required because of python 3.6 requests dependency version bound urllib3<=1.26.15 -diff -Nru oci-cli-3.43.1.orig/setup.py oci-cli-3.43.1/setup.py ---- oci-cli-3.43.1.orig/setup.py 2024-06-11 08:05:18.000000000 +0200 -+++ oci-cli-3.43.1/setup.py 2024-06-18 13:46:47.849464815 +0200 +diff -Nru oci-cli-3.43.2.orig/setup.py oci-cli-3.43.2/setup.py +--- oci-cli-3.43.2.orig/setup.py 2024-06-18 07:36:55.000000000 +0200 ++++ oci-cli-3.43.2/setup.py 2024-06-24 13:06:03.189628435 +0200 @@ -30,24 +30,24 @@ readme = f.read() requires = [ -- 'oci==2.128.1', -+ 'oci>=2.128.1', +- 'oci==2.128.2', ++ 'oci>=2.128.2', 'arrow>=1.0.0', 'certifi', - 'click==8.0.4', ++++++ oci-cli-3.43.1.tar.gz -> oci-cli-3.43.2.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oci-cli-3.43.1/CHANGELOG.rst new/oci-cli-3.43.2/CHANGELOG.rst --- old/oci-cli-3.43.1/CHANGELOG.rst 2024-06-11 08:05:18.000000000 +0200 +++ new/oci-cli-3.43.2/CHANGELOG.rst 2024-06-18 07:36:55.000000000 +0200 @@ -6,6 +6,34 @@ The format is based on `Keep a Changelog <http://keepachangelog.com/>`__. +3.43.2 - 2024-06-18 +-------------------- +Added +~~~~~ +* OCI AI Document Service + + * Support for new document type ``INSURANCE_CLAIM`` as shown: + + * ``oci ai-document analyze-document-result analyze-document --document-type INSURANCE_CLAIM`` + * ``oci ai-document analyze-document-result analyze-document-inline-document-details --document-type INSURANCE_CLAIM`` + * ``oci ai-document analyze-document-result analyze-document-object-storage-document-details --document-type INSURANCE_CLAIM`` + * ``oci ai-document processor-job create-processor-job-general-processor-config --processor-config-document-type INSURANCE_CLAIM`` + +* OCI Database Service + + * Support for adding whitelisted ips for private endpoint enabled databases. + + * ``oci db autonomous-database create --whitelisted-ips`` + * ``oci db autonomous-database update --whitelisted-ips`` + +* OCI Stack Monitoring Service + + * Support for Microsoft IIS resource type when declaring discovery details. + + * ``oci stack-monitoring discovery-job create --discovery-details`` + +* Security Enhancement: Improved security for API key management. + 3.43.1 - 2024-06-11 -------------------- Added diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oci-cli-3.43.1/requirements.txt new/oci-cli-3.43.2/requirements.txt --- old/oci-cli-3.43.1/requirements.txt 2024-06-11 08:05:18.000000000 +0200 +++ new/oci-cli-3.43.2/requirements.txt 2024-06-18 07:36:55.000000000 +0200 @@ -14,7 +14,7 @@ jmespath==0.10.0 ndg-httpsclient==0.4.2 mock==2.0.0 -oci==2.128.1 +oci==2.128.2 packaging==20.2 pluggy==0.13.0 py==1.11.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oci-cli-3.43.1/services/ai_document/src/oci_cli_ai_service_document/generated/aiservicedocument_cli.py new/oci-cli-3.43.2/services/ai_document/src/oci_cli_ai_service_document/generated/aiservicedocument_cli.py --- old/oci-cli-3.43.1/services/ai_document/src/oci_cli_ai_service_document/generated/aiservicedocument_cli.py 2024-06-11 08:05:18.000000000 +0200 +++ new/oci-cli-3.43.2/services/ai_document/src/oci_cli_ai_service_document/generated/aiservicedocument_cli.py 2024-06-18 07:36:55.000000000 +0200 @@ -79,7 +79,7 @@ @cli_util.option('--compartment-id', help=u"""The compartment identifier.""") @cli_util.option('--output-location', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP) @cli_util.option('--language', help=u"""The document language, abbreviated according to the BCP 47 syntax.""") -@cli_util.option('--document-type', type=custom_types.CliCaseInsensitiveChoice(["INVOICE", "RECEIPT", "RESUME", "TAX_FORM", "DRIVER_LICENSE", "PASSPORT", "BANK_STATEMENT", "CHECK", "PAYSLIP", "OTHERS"]), help=u"""The document type.""") +@cli_util.option('--document-type', type=custom_types.CliCaseInsensitiveChoice(["INVOICE", "RECEIPT", "RESUME", "TAX_FORM", "DRIVER_LICENSE", "PASSPORT", "BANK_STATEMENT", "CHECK", "PAYSLIP", "OTHERS", "INSURANCE_CLAIM"]), help=u"""The document type.""") @cli_util.option('--ocr-data', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP) @cli_util.option('--if-match', help=u"""For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match` parameter to the value of the etag from a previous GET or POST response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value.""") @json_skeleton_utils.get_cli_json_input_option({'features': {'module': 'ai_document', 'class': 'list[DocumentFeature]'}, 'document': {'module': 'ai_document', 'class': 'DocumentDetails'}, 'output-location': {'module': 'ai_document', 'class': 'OutputLocation'}, 'ocr-data': {'module': 'ai_document', 'class': 'AnalyzeDocumentResult'}}) @@ -129,7 +129,7 @@ @cli_util.option('--compartment-id', help=u"""The compartment identifier.""") @cli_util.option('--output-location', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP) @cli_util.option('--language', help=u"""The document language, abbreviated according to the BCP 47 syntax.""") -@cli_util.option('--document-type', type=custom_types.CliCaseInsensitiveChoice(["INVOICE", "RECEIPT", "RESUME", "TAX_FORM", "DRIVER_LICENSE", "PASSPORT", "BANK_STATEMENT", "CHECK", "PAYSLIP", "OTHERS"]), help=u"""The document type.""") +@cli_util.option('--document-type', type=custom_types.CliCaseInsensitiveChoice(["INVOICE", "RECEIPT", "RESUME", "TAX_FORM", "DRIVER_LICENSE", "PASSPORT", "BANK_STATEMENT", "CHECK", "PAYSLIP", "OTHERS", "INSURANCE_CLAIM"]), help=u"""The document type.""") @cli_util.option('--ocr-data', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP) @cli_util.option('--if-match', help=u"""For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match` parameter to the value of the etag from a previous GET or POST response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value.""") @json_skeleton_utils.get_cli_json_input_option({'features': {'module': 'ai_document', 'class': 'list[DocumentFeature]'}, 'output-location': {'module': 'ai_document', 'class': 'OutputLocation'}, 'ocr-data': {'module': 'ai_document', 'class': 'AnalyzeDocumentResult'}}) @@ -182,7 +182,7 @@ @cli_util.option('--compartment-id', help=u"""The compartment identifier.""") @cli_util.option('--output-location', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP) @cli_util.option('--language', help=u"""The document language, abbreviated according to the BCP 47 syntax.""") -@cli_util.option('--document-type', type=custom_types.CliCaseInsensitiveChoice(["INVOICE", "RECEIPT", "RESUME", "TAX_FORM", "DRIVER_LICENSE", "PASSPORT", "BANK_STATEMENT", "CHECK", "PAYSLIP", "OTHERS"]), help=u"""The document type.""") +@cli_util.option('--document-type', type=custom_types.CliCaseInsensitiveChoice(["INVOICE", "RECEIPT", "RESUME", "TAX_FORM", "DRIVER_LICENSE", "PASSPORT", "BANK_STATEMENT", "CHECK", "PAYSLIP", "OTHERS", "INSURANCE_CLAIM"]), help=u"""The document type.""") @cli_util.option('--ocr-data', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP) @cli_util.option('--if-match', help=u"""For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match` parameter to the value of the etag from a previous GET or POST response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value.""") @json_skeleton_utils.get_cli_json_input_option({'features': {'module': 'ai_document', 'class': 'list[DocumentFeature]'}, 'output-location': {'module': 'ai_document', 'class': 'OutputLocation'}, 'ocr-data': {'module': 'ai_document', 'class': 'AnalyzeDocumentResult'}}) @@ -636,7 +636,7 @@ @cli_util.option('--compartment-id', required=True, help=u"""The compartment identifier.""") @cli_util.option('--processor-config-features', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The types of document analysis requested.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP) @cli_util.option('--display-name', help=u"""The display name of the processor job.""") -@cli_util.option('--processor-config-document-type', type=custom_types.CliCaseInsensitiveChoice(["INVOICE", "RECEIPT", "RESUME", "TAX_FORM", "DRIVER_LICENSE", "PASSPORT", "BANK_STATEMENT", "CHECK", "PAYSLIP", "OTHERS"]), help=u"""The document type.""") +@cli_util.option('--processor-config-document-type', type=custom_types.CliCaseInsensitiveChoice(["INVOICE", "RECEIPT", "RESUME", "TAX_FORM", "DRIVER_LICENSE", "PASSPORT", "BANK_STATEMENT", "CHECK", "PAYSLIP", "OTHERS", "INSURANCE_CLAIM"]), help=u"""The document type.""") @cli_util.option('--processor-config-is-zip-output-enabled', type=click.BOOL, help=u"""Whether or not to generate a ZIP file containing the results.""") @cli_util.option('--processor-config-language', help=u"""The document language, abbreviated according to the BCP 47 Language-Tag syntax.""") @cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["SUCCEEDED", "FAILED", "ACCEPTED", "CANCELED", "IN_PROGRESS", "CANCELING"]), 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.""") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oci-cli-3.43.1/services/apm_config/tests/util/generated/command_to_api.py new/oci-cli-3.43.2/services/apm_config/tests/util/generated/command_to_api.py --- old/oci-cli-3.43.1/services/apm_config/tests/util/generated/command_to_api.py 2024-06-11 08:05:18.000000000 +0200 +++ new/oci-cli-3.43.2/services/apm_config/tests/util/generated/command_to_api.py 2024-06-18 07:36:55.000000000 +0200 @@ -8,6 +8,7 @@ "apm_config.list_configs": "oci.apm_config.ConfigClient.list_configs", "apm_config.retrieve_namespace_metrics": "oci.apm_config.ConfigClient.retrieve_namespace_metrics", "apm_config.retrieve_namespaces": "oci.apm_config.ConfigClient.retrieve_namespaces", + "apm_config.test": "oci.apm_config.ConfigClient.test", "apm_config.update_config": "oci.apm_config.ConfigClient.update_config", "apm_config.validate_span_filter_pattern": "oci.apm_config.ConfigClient.validate_span_filter_pattern", } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oci-cli-3.43.1/setup.py new/oci-cli-3.43.2/setup.py --- old/oci-cli-3.43.1/setup.py 2024-06-11 08:05:18.000000000 +0200 +++ new/oci-cli-3.43.2/setup.py 2024-06-18 07:36:55.000000000 +0200 @@ -30,7 +30,7 @@ readme = f.read() requires = [ - 'oci==2.128.1', + 'oci==2.128.2', 'arrow>=1.0.0', 'certifi', 'click==8.0.4', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oci-cli-3.43.1/src/oci_cli/cli_setup.py new/oci-cli-3.43.2/src/oci_cli/cli_setup.py --- old/oci-cli-3.43.1/src/oci_cli/cli_setup.py 2024-06-11 08:05:18.000000000 +0200 +++ new/oci-cli-3.43.2/src/oci_cli/cli_setup.py 2024-06-18 07:36:55.000000000 +0200 @@ -193,10 +193,10 @@ --ingress-rules = --ingress-security-rules """ - NO_PASSPHRASE = 'N/A' PUBLIC_KEY_FILENAME_SUFFIX = '_public.pem' PRIVATE_KEY_FILENAME_SUFFIX = '.pem' +PRIVATE_KEY_LABEL = "OCI_API_KEY" config_generation_canceled_message = "Config creation canceled." @@ -292,6 +292,14 @@ private_key_file, has_passphrase, private_key = click.prompt(text='Enter the location of your API Signing private key file', value_proc=validate_private_key_file) private_key_file = os.path.abspath(private_key_file) + if not validate_label_private_key(private_key_file): + private_label_message = ( + f"To increase security of your API key located at {private_key_file}, " + "append an extra line with 'OCI_API_KEY' at the end. For more information, " + "refer to https://docs.oracle.com/iaas/Content/API/Concepts/apisigningkey.htm" + ) + click.echo(click.style(f"Warning: {private_label_message}", fg='yellow')) + key_passphrase = None if has_passphrase: key_passphrase, private_key = click.prompt(text='Enter the passphrase for your private key', hide_input=True, value_proc=lambda passphrase: validate_private_key_passphrase(private_key_file, passphrase)) @@ -705,6 +713,11 @@ with open(filename, "wb") as f: f.write(cli_util.serialize_key(private_key=private_key, passphrase=passphrase)) + # Open a file in append mode + with open(filename, 'a') as file: + # add the static label + file.write(PRIVATE_KEY_LABEL) + # only user has R/W permissions to the key file cli_util.apply_user_only_access_permissions(filename) @@ -723,6 +736,14 @@ raise click.BadParameter("Incorrect passphrase, could not decrypt private key") +def validate_label_private_key(file_path): + + with open(file_path, "r") as file: + content = file.read() + + return content.endswith(PRIVATE_KEY_LABEL) + + def validate_private_key_file(filename): filename = os.path.expanduser(filename) if not os.path.isfile(filename): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oci-cli-3.43.1/src/oci_cli/version.py new/oci-cli-3.43.2/src/oci_cli/version.py --- old/oci-cli-3.43.1/src/oci_cli/version.py 2024-06-11 08:05:18.000000000 +0200 +++ new/oci-cli-3.43.2/src/oci_cli/version.py 2024-06-18 07:36:55.000000000 +0200 @@ -2,4 +2,4 @@ # Copyright (c) 2016, 2021, 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.43.1' +__version__ = '3.43.2'