Skip to content

Commit 86ce649

Browse files
Merge pull request #631 from oracle/release_2023-01-24
Releasing version 3.22.3
2 parents 4596f43 + 6cc0746 commit 86ce649

File tree

15 files changed

+1661
-174
lines changed

15 files changed

+1661
-174
lines changed

CHANGELOG.rst

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,43 @@ All notable changes to this project will be documented in this file.
66

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

9+
3.22.3 - 2023-01-24
10+
--------------------
11+
Added
12+
~~~~~
13+
14+
* Support for the Cloud Migrations service
15+
16+
* ``oci cloud-migrations``
17+
18+
* Support for new optional parameter to set Custom Private IP during Private End Point provisioning in the Database service
19+
20+
* ``oci db autonomous-database create --private-endpoint-ip``
21+
* ``oci db autonomous-database create-adb-cross-region-data-guard-details --private-endpoint-ip``
22+
* ``oci db autonomous-database create-from-backup-id --private-endpoint-ip``
23+
* ``oci db autonomous-database create-from-backup-timestamp --private-endpoint-ip``
24+
* ``oci db autonomous-database create-from-clone --private-endpoint-ip``
25+
* ``oci db autonomous-database create-refreshable-clone --private-endpoint-ip``
26+
* ``oci db autonomous-database update --private-endpoint-ip``
27+
28+
* Support for Machine Learning pipelines for the Data Science Service
29+
30+
* ``oci data-science pipeline``
31+
* ``oci data-science pipeline-run``
32+
33+
* Support for the language PII (Personal Identifiable Information) detection in the AI Language service
34+
35+
* ``oci ai language batch-detect-pii-entities``
36+
37+
* Support for cross region replication in the File Storage service
38+
39+
* ``oci fs replication create``
40+
* ``oci fs replication get``
41+
* ``oci fs replication list``
42+
* ``oci fs replication delete``
43+
* ``oci fs replication change-compartment``
44+
* ``oci fs file-system estimate-replication``
45+
946
3.22.2 - 2023-01-17
1047
--------------------
1148
Added

requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ Jinja2==3.0.3
1414
jmespath==0.10.0
1515
ndg-httpsclient==0.4.2
1616
mock==2.0.0
17-
oci==2.90.2
17+
oci==2.90.3
1818
packaging==20.2
1919
pluggy==0.13.0
2020
py==1.10.0

services/ai_language/src/oci_cli_ai_service_language/aiservicelanguage_cli_extended.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ def language_group():
3636
cli_util.rename_command(aiservicelanguage_cli, aiservicelanguage_cli.batch_detect_language_key_phrases_group, aiservicelanguage_cli.batch_detect_language_key_phrases, "batch-detect-key-phrases")
3737
cli_util.rename_command(aiservicelanguage_cli, aiservicelanguage_cli.batch_detect_language_sentiments_group, aiservicelanguage_cli.batch_detect_language_sentiments, "batch-detect-sentiments")
3838
cli_util.rename_command(aiservicelanguage_cli, aiservicelanguage_cli.batch_detect_language_text_classification_group, aiservicelanguage_cli.batch_detect_language_text_classification, "batch-detect-text-classification")
39+
cli_util.rename_command(aiservicelanguage_cli, aiservicelanguage_cli.batch_detect_language_pii_entities_group, aiservicelanguage_cli.batch_detect_language_pii_entities, "batch-detect-pii-entities")
3940

4041
# Single Documents APIs
4142
cli_util.rename_command(aiservicelanguage_cli, aiservicelanguage_cli.detect_dominant_language_group, aiservicelanguage_cli.detect_dominant_language, "detect-language")
@@ -50,6 +51,7 @@ def language_group():
5051
aiservicelanguage_cli.ai_root_group.commands.pop(aiservicelanguage_cli.batch_detect_language_key_phrases_group.name)
5152
aiservicelanguage_cli.ai_root_group.commands.pop(aiservicelanguage_cli.batch_detect_language_sentiments_group.name)
5253
aiservicelanguage_cli.ai_root_group.commands.pop(aiservicelanguage_cli.batch_detect_language_text_classification_group.name)
54+
aiservicelanguage_cli.ai_root_group.commands.pop(aiservicelanguage_cli.batch_detect_language_pii_entities_group.name)
5355

5456
# Single Documents APIs
5557
aiservicelanguage_cli.ai_root_group.commands.pop(aiservicelanguage_cli.detect_dominant_language_group.name)
@@ -65,6 +67,7 @@ def language_group():
6567
language_group.add_command(aiservicelanguage_cli.batch_detect_language_key_phrases)
6668
language_group.add_command(aiservicelanguage_cli.batch_detect_language_sentiments)
6769
language_group.add_command(aiservicelanguage_cli.batch_detect_language_text_classification)
70+
language_group.add_command(aiservicelanguage_cli.batch_detect_language_pii_entities)
6871

6972
# Single Documents APIs
7073
aiservicelanguage_cli.ai_root_group.add_command(language_group)

services/ai_language/src/oci_cli_ai_service_language/generated/aiservicelanguage_cli.py

Lines changed: 58 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,12 @@ def detect_language_sentiments_group():
7171
pass
7272

7373

74+
@click.command(cli_util.override('ai.batch_detect_language_pii_entities_group.command_name', 'batch-detect-language-pii-entities'), cls=CommandGroupWithAlias, help="""""")
75+
@cli_util.help_option_group
76+
def batch_detect_language_pii_entities_group():
77+
pass
78+
79+
7480
@click.command(cli_util.override('ai.batch_language_translation_group.command_name', 'batch-language-translation'), cls=CommandGroupWithAlias, help="""""")
7581
@cli_util.help_option_group
7682
def batch_language_translation_group():
@@ -139,6 +145,7 @@ def batch_detect_language_text_classification_group():
139145
ai_root_group.add_command(work_request_group)
140146
ai_root_group.add_command(evaluation_result_collection_group)
141147
ai_root_group.add_command(detect_language_sentiments_group)
148+
ai_root_group.add_command(batch_detect_language_pii_entities_group)
142149
ai_root_group.add_command(batch_language_translation_group)
143150
ai_root_group.add_command(batch_detect_language_sentiments_group)
144151
ai_root_group.add_command(detect_language_entities_group)
@@ -246,6 +253,41 @@ def batch_detect_language_key_phrases(ctx, from_json, documents, compartment_id)
246253
cli_util.render_response(result, ctx)
247254

248255

256+
@batch_detect_language_pii_entities_group.command(name=cli_util.override('ai.batch_detect_language_pii_entities.command_name', 'batch-detect-language-pii-entities'), help=u"""The API extracts pii entities in text records. For each entity, its type and confidence score (between 0 and 1) is returned. It supports passing a batch of records.
257+
258+
Limitations: - A batch may have up to 100 records. - A record may be up to 5000 characters long. - The total of characters to process in a request can be up to 20,000 characters. \n[Command Reference](batchDetectLanguagePiiEntities)""")
259+
@cli_util.option('--documents', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of documents to detect personal identification information.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
260+
@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment that calls the API, inference will be served from pre trained model""")
261+
@cli_util.option('--masking', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Mask recognized PII entities with different modes.
262+
263+
This option is a JSON dictionary of type dict(str, PiiEntityMasking). For documentation on PiiEntityMasking please see our API reference: https://docs.cloud.oracle.com/api/#/en/aiservicelanguage/20221001/datatypes/PiiEntityMasking.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
264+
@json_skeleton_utils.get_cli_json_input_option({'documents': {'module': 'ai_language', 'class': 'list[TextDocument]'}, 'masking': {'module': 'ai_language', 'class': 'dict(str, PiiEntityMasking)'}})
265+
@cli_util.help_option
266+
@click.pass_context
267+
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'documents': {'module': 'ai_language', 'class': 'list[TextDocument]'}, 'masking': {'module': 'ai_language', 'class': 'dict(str, PiiEntityMasking)'}}, output_type={'module': 'ai_language', 'class': 'BatchDetectLanguagePiiEntitiesResult'})
268+
@cli_util.wrap_exceptions
269+
def batch_detect_language_pii_entities(ctx, from_json, documents, compartment_id, masking):
270+
271+
kwargs = {}
272+
kwargs['opc_request_id'] = cli_util.use_or_generate_request_id(ctx.obj['request_id'])
273+
274+
_details = {}
275+
_details['documents'] = cli_util.parse_json_parameter("documents", documents)
276+
277+
if compartment_id is not None:
278+
_details['compartmentId'] = compartment_id
279+
280+
if masking is not None:
281+
_details['masking'] = cli_util.parse_json_parameter("masking", masking)
282+
283+
client = cli_util.build_client('ai_language', 'ai_service_language', ctx)
284+
result = client.batch_detect_language_pii_entities(
285+
batch_detect_language_pii_entities_details=_details,
286+
**kwargs
287+
)
288+
cli_util.render_response(result, ctx)
289+
290+
249291
@batch_detect_language_sentiments_group.command(name=cli_util.override('ai.batch_detect_language_sentiments.command_name', 'batch-detect-language-sentiments'), help=u"""The API extracts aspect-based and sentence level sentiment in text records.
250292
251293
For aspect-based sentiment analysis, a set of aspects and their respective sentiment is returned for each record. Similarly, for sentence-level sentiment analysis, the sentiment is returned at the sentence level.
@@ -1212,9 +1254,11 @@ def delete_project(ctx, from_json, wait_for_state, max_wait_seconds, wait_interv
12121254
cli_util.render_response(result, ctx)
12131255

12141256

1215-
@detect_dominant_language_group.command(name=cli_util.override('ai.detect_dominant_language.command_name', 'detect-dominant-language'), help=u"""The API returns the detected language and a related confidence score (between 0 and 1).
1257+
@detect_dominant_language_group.command(name=cli_util.override('ai.detect_dominant_language.command_name', 'detect-dominant-language'), help=u"""**Deprecated**: This API will be retired Tuesday, 10 Oct 2023 00:00:00 GMT. We recommend you replace this API with the batch API, [BatchDetectDominantLanguage].
12161258
1217-
[List of supported languages.]
1259+
The DetectDominantLanguage API returns the detected language and a related confidence score (between 0 and 1).
1260+
1261+
[List of supported languages]
12181262
12191263
Limitations: - A record may be up to 1000 characters long. \n[Command Reference](detectDominantLanguage)""")
12201264
@cli_util.option('--text', required=True, help=u"""Document text for detect language.""")
@@ -1239,7 +1283,9 @@ def detect_dominant_language(ctx, from_json, text):
12391283
cli_util.render_response(result, ctx)
12401284

12411285

1242-
@detect_language_entities_group.command(name=cli_util.override('ai.detect_language_entities.command_name', 'detect-language-entities'), help=u"""The API extracts entities in text records. For each entity, its type and confidence score (between 0 and 1) is returned.
1286+
@detect_language_entities_group.command(name=cli_util.override('ai.detect_language_entities.command_name', 'detect-language-entities'), help=u"""**Deprecated**: This API will be retired Tuesday, 10 Oct 2023 00:00:00 GMT. We recommend you replace this API with the batch API, [BatchDetectLanguageEntities].
1287+
1288+
The DetectLanguageEntities API extracts entities in text records. For each entity, its type and confidence score (between 0 and 1) is returned.
12431289
12441290
Limitations: - A text may be up to 1000 characters long. \n[Command Reference](detectLanguageEntities)""")
12451291
@cli_util.option('--text', required=True, help=u"""Document text for detect entities.""")
@@ -1270,7 +1316,9 @@ def detect_language_entities(ctx, from_json, text, model_version, is_pii):
12701316
cli_util.render_response(result, ctx)
12711317

12721318

1273-
@detect_language_key_phrases_group.command(name=cli_util.override('ai.detect_language_key_phrases.command_name', 'detect-language-key-phrases'), help=u"""The API extracts key-phrases in text records. For each key-phrase, a score (between 0 and 1) is returned that highlights the importance of the key-phrase in the context of the text.
1319+
@detect_language_key_phrases_group.command(name=cli_util.override('ai.detect_language_key_phrases.command_name', 'detect-language-key-phrases'), help=u"""**Deprecated**: This API will be retired Tuesday, 10 Oct 2023 00:00:00 GMT. We recommend you replace this API with the batch API, [BatchDetectLanguageKeyPhrases].
1320+
1321+
The DetectLanguageKeyPhrases API extracts key-phrases in text records. For each key-phrase, a score (between 0 and 1) is returned that highlights the importance of the key-phrase in the context of the text.
12741322
12751323
Limitations: - A record may be up to 1000 characters long. \n[Command Reference](detectLanguageKeyPhrases)""")
12761324
@cli_util.option('--text', required=True, help=u"""Document text for detect keyPhrases.""")
@@ -1295,7 +1343,9 @@ def detect_language_key_phrases(ctx, from_json, text):
12951343
cli_util.render_response(result, ctx)
12961344

12971345

1298-
@detect_language_sentiments_group.command(name=cli_util.override('ai.detect_language_sentiments.command_name', 'detect-language-sentiments'), help=u"""The API extracts aspect-based in text records.
1346+
@detect_language_sentiments_group.command(name=cli_util.override('ai.detect_language_sentiments.command_name', 'detect-language-sentiments'), help=u"""**Deprecated**: This API will be retired Tuesday, 10 Oct 2023 00:00:00 GMT. We recommend you replace this API with the batch API, [BatchDetectLanguageSentiments].
1347+
1348+
The DetectLanguageSentiments API extracts aspect-based in text records.
12991349
13001350
For aspect-based sentiment analysis, a set of aspects and their respective sentiment is returned.
13011351
@@ -1326,7 +1376,9 @@ def detect_language_sentiments(ctx, from_json, text):
13261376
cli_util.render_response(result, ctx)
13271377

13281378

1329-
@detect_language_text_classification_group.command(name=cli_util.override('ai.detect_language_text_classification.command_name', 'detect-language-text-classification'), help=u"""The API automatically classifies text into a set of pre-determined classes and sub-classes. A single class/subclass is returned for each record classified.
1379+
@detect_language_text_classification_group.command(name=cli_util.override('ai.detect_language_text_classification.command_name', 'detect-language-text-classification'), help=u"""**Deprecated**: This API will be retired Tuesday, 10 Oct 2023 00:00:00 GMT. We recommend you replace this API with the batch API, [BatchDetectLanguageTextClassification].
1380+
1381+
The DetectLanguageTextClassification API automatically classifies text into a set of pre-determined classes and sub-classes. A single class/subclass is returned for each record classified.
13301382
13311383
Learn more about text classification [here].
13321384

services/autoscaling/src/oci_cli_auto_scaling/autoscaling_cli_extended.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,11 @@ def create_auto_scaling_policy_extended(ctx, **kwargs):
3838
raise click.UsageError('If Parameter --policy-type is scheduled, then Parameter --execution-schedule must be provided')
3939
else:
4040
# Since autoscaling_cli.create_auto_scaling_policy_create_scheduled_policy_details doesn't expect the parameter policy_type
41-
del(kwargs['policy_type'])
41+
del (kwargs['policy_type'])
4242
ctx.invoke(autoscaling_cli.create_auto_scaling_policy_create_scheduled_policy_details, **kwargs)
4343
else:
4444
# Since autoscaling_cli.create_auto_scaling_policy doesn't expect the parameter execution_schedule
45-
del(kwargs['execution_schedule'])
45+
del (kwargs['execution_schedule'])
4646
ctx.invoke(autoscaling_cli.create_auto_scaling_policy, **kwargs)
4747

4848

@@ -58,9 +58,9 @@ def update_auto_scaling_policy_extended(ctx, **kwargs):
5858
raise click.UsageError('If Parameter --policy-type is scheduled, then Parameter --execution-schedule must be provided')
5959
else:
6060
# Since autoscaling_cli.update_auto_scaling_policy_update_scheduled_policy_details doesn't expect the parameter policy_type
61-
del(kwargs['policy_type'])
61+
del (kwargs['policy_type'])
6262
ctx.invoke(autoscaling_cli.update_auto_scaling_policy_update_scheduled_policy_details, **kwargs)
6363
else:
6464
# Since autoscaling_cli.update_auto_scaling_policy doesn't expect the parameter execution_schedule
65-
del(kwargs['execution_schedule'])
65+
del (kwargs['execution_schedule'])
6666
ctx.invoke(autoscaling_cli.update_auto_scaling_policy, **kwargs)

0 commit comments

Comments
 (0)