Skip to content

Commit 7a1a6f2

Browse files
Releasing version 3.54.1
Releasing version 3.54.1
2 parents d23fba8 + 7539b29 commit 7a1a6f2

File tree

23 files changed

+6698
-2794
lines changed

23 files changed

+6698
-2794
lines changed

CHANGELOG.rst

+54
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,60 @@ 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.54.1 - 2025-04-01
10+
--------------------
11+
Added
12+
~~~~~
13+
* File Storage service
14+
15+
* Support for the Lustre File service
16+
17+
* ``oci lfs lustre-file-system change-compartment``
18+
* ``oci lfs lustre-file-system create``
19+
* ``oci lfs lustre-file-system delete``
20+
* ``oci lfs lustre-file-system get``
21+
* ``oci lfs lustre-file-system update``
22+
* ``oci lfs lustre-file-system-collection list-lustre-file-systems``
23+
* ``oci lfs work-request cancel``
24+
* ``oci lfs work-request get``
25+
* ``oci lfs work-request list``
26+
* ``oci lfs work-request-error list``
27+
* ``oci lfs work-request-log-entry list-work-request-logs``
28+
29+
* Data Science Service
30+
31+
* Support for ML Applications in the Data Science service
32+
33+
* ``oci data-science ml-app``
34+
* ``oci data-science ml-app-implementation``
35+
* ``oci data-science ml-app-implementation-version``
36+
* ``oci data-science ml-app-instance``
37+
* ``oci data-science ml-app-instance-view``
38+
39+
* Application Performance Monitoring Configuration Service
40+
41+
* Support for new Action end points to export and import configurations
42+
43+
* ``oci apm-config export-configuration copy``
44+
* ``oci apm-config export-configuration export``
45+
* ``oci apm-config export-configuration import``
46+
47+
Changed
48+
~~~~~~~
49+
* Ops Insights Service
50+
51+
* Support for ECPU compute model based Ops Insights Warehouses by adding new compute-model field.
52+
53+
* ``oci opsi operations-insights-warehouses update --compute-model``
54+
* ``oci opsi operations-insights-warehouses create --compute-model``
55+
56+
57+
Security
58+
~~~~~~~
59+
- updated requests dependency to `>= 2.32.0` for python version `>3.7`, `2.31.0` for `3.7` and `2.27.0` for `3.6` per: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-32681.
60+
- updated Jinja2 dependency to `>=3.1.5` for python version `>=3.7` and `<3.0.0` for `3.6` per: CVE-2024-56201 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2024-56201 and https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2024-56326.
61+
- updated certifi dependency to `2025.1.31` per: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2024-39689.
62+
963
3.54.0 - 2025-03-25
1064
--------------------
1165
Added

requirements.txt

+5-5
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,18 @@
44

55
appdirs==1.4.3
66
arrow>=1.0.0
7-
certifi
7+
certifi==2025.1.31
88
cffi>=1.9.1
99
click==8.0.4
1010
coverage==4.5.2
1111
cryptography>=3.2.1,<46.0.0
1212
httpsig-cffi==15.0.0
13-
Jinja2==3.0.3; python_version == '3.6'
14-
Jinja2<3.1; python_version >= '3.7'
13+
Jinja2<3.0.0; python_version == '3.6'
14+
Jinja2>=3.1.5; python_version >= '3.7'
1515
jmespath==0.10.0
1616
ndg-httpsclient==0.4.2
1717
mock==2.0.0
18-
oci==2.149.1
18+
oci==2.149.2
1919
packaging==20.2
2020
pluggy==0.13.0
2121
py==1.11.0
@@ -28,7 +28,7 @@ pytest==7.1.2; python_version >= '3.10'
2828
pytest-cov==2.5.1
2929
python-dateutil>=2.5.3,<3.0.0
3030
pytz>=2016.10
31-
requests==2.21.0; python_version == '3.6'
31+
requests==2.27.0; python_version == '3.6'
3232
requests==2.31.0; python_version == '3.7'
3333
requests>=2.32.0; python_version > '3.7'
3434
six>=1.15.0

services/apm_config/src/oci_cli_config/config_cli_extended.py

+20
Original file line numberDiff line numberDiff line change
@@ -76,3 +76,23 @@
7676

7777
# oci apm-config test-output -> oci apm-config test
7878
cli_util.rename_command(config_cli, config_cli.apm_config_root_group, config_cli.test_output_group, "test")
79+
80+
81+
# oci apm-config export-configuration-details copy-configuration -> oci apm-config export-configuration-details copy
82+
cli_util.rename_command(config_cli, config_cli.export_configuration_details_group, config_cli.copy_configuration, "copy")
83+
84+
85+
# oci apm-config export-configuration-details export-configuration -> oci apm-config export-configuration-details export
86+
cli_util.rename_command(config_cli, config_cli.export_configuration_details_group, config_cli.export_configuration, "export")
87+
88+
89+
# oci apm-config import-configuration-details import-configuration -> oci apm-config import-configuration-details import
90+
cli_util.rename_command(config_cli, config_cli.import_configuration_details_group, config_cli.import_configuration, "import")
91+
92+
93+
# oci apm-config export-configuration-details -> oci apm-config export-configuration
94+
cli_util.rename_command(config_cli, config_cli.apm_config_root_group, config_cli.export_configuration_details_group, "export-configuration")
95+
96+
97+
# oci apm-config import-configuration-details -> oci apm-config import-configuration
98+
cli_util.rename_command(config_cli, config_cli.apm_config_root_group, config_cli.import_configuration_details_group, "import-configuration")

services/apm_config/src/oci_cli_config/generated/config_cli.py

+93
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,12 @@ def metric_group_group():
2929
pass
3030

3131

32+
@click.command(cli_util.override('apm_config.import_configuration_details_group.command_name', 'import-configuration-details'), cls=CommandGroupWithAlias, help="""Array of configuration items with dependencies to import.""")
33+
@cli_util.help_option_group
34+
def import_configuration_details_group():
35+
pass
36+
37+
3238
@click.command(cli_util.override('apm_config.span_filter_group.command_name', 'span-filter'), cls=CommandGroupWithAlias, help="""A named setting that specifies the filter criteria to match a subset of the spans.""")
3339
@cli_util.help_option_group
3440
def span_filter_group():
@@ -41,6 +47,12 @@ def config_collection_group():
4147
pass
4248

4349

50+
@click.command(cli_util.override('apm_config.export_configuration_details_group.command_name', 'export-configuration-details'), cls=CommandGroupWithAlias, help="""Array of configuration items with its dependencies to export.""")
51+
@cli_util.help_option_group
52+
def export_configuration_details_group():
53+
pass
54+
55+
4456
@click.command(cli_util.override('apm_config.config_group.command_name', 'config'), cls=CommandGroupWithAlias, help="""A configuration item, which has a number of mutually exclusive properties that can be used to set specific portions of the configuration.""")
4557
@cli_util.help_option_group
4658
def config_group():
@@ -54,12 +66,41 @@ def test_output_group():
5466

5567

5668
apm_config_root_group.add_command(metric_group_group)
69+
apm_config_root_group.add_command(import_configuration_details_group)
5770
apm_config_root_group.add_command(span_filter_group)
5871
apm_config_root_group.add_command(config_collection_group)
72+
apm_config_root_group.add_command(export_configuration_details_group)
5973
apm_config_root_group.add_command(config_group)
6074
apm_config_root_group.add_command(test_output_group)
6175

6276

77+
@export_configuration_details_group.command(name=cli_util.override('apm_config.copy_configuration.command_name', 'copy-configuration'), help=u"""Fast importing configuration items to a destination APM domain ID. \n[Command Reference](copyConfiguration)""")
78+
@cli_util.option('--configuration-map', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that has parameters related to the import process (EnableOcidSubstitution, DestinationDomainID, \u2026) and more. Example: `{\"parameter-key\": \"parameter-value\"}` Supported parameters: \u2014 Enable the OCIDs in instructions to be replaced, if set to \"true\" The Config Service replace any OCIDs it finds in the instructions. \u2014 Destination APM Domain ID where the configuration Item(s) will be fast imported to. \u2014 List of Configuration Type or Groups to be fast imported. \u2014 the compartment Id we will fast import to, if the compartment Id is not provided it will be the default destination domain compartmentId.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
79+
@cli_util.option('--apm-domain-id', required=True, help=u"""The APM Domain ID the request is intended for.""")
80+
@cli_util.option('--apm-target-domain-id', required=True, help=u"""The Target APM Domain ID the request is intended for.""")
81+
@json_skeleton_utils.get_cli_json_input_option({'configuration-map': {'module': 'apm_config', 'class': 'dict(str, string)'}})
82+
@cli_util.help_option
83+
@click.pass_context
84+
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'configuration-map': {'module': 'apm_config', 'class': 'dict(str, string)'}}, output_type={'module': 'apm_config', 'class': 'ImportConfigurationFailedItemsCollection'})
85+
@cli_util.wrap_exceptions
86+
def copy_configuration(ctx, from_json, configuration_map, apm_domain_id, apm_target_domain_id):
87+
88+
kwargs = {}
89+
kwargs['opc_request_id'] = cli_util.use_or_generate_request_id(ctx.obj['request_id'])
90+
91+
_details = {}
92+
_details['configurationMap'] = cli_util.parse_json_parameter("configuration_map", configuration_map)
93+
94+
client = cli_util.build_client('apm_config', 'config', ctx)
95+
result = client.copy_configuration(
96+
apm_domain_id=apm_domain_id,
97+
apm_target_domain_id=apm_target_domain_id,
98+
copy_configuration_details=_details,
99+
**kwargs
100+
)
101+
cli_util.render_response(result, ctx)
102+
103+
63104
@config_group.command(name=cli_util.override('apm_config.create_config.command_name', 'create'), help=u"""Creates a new configuration item. \n[Command Reference](createConfig)""")
64105
@cli_util.option('--apm-domain-id', required=True, help=u"""The APM Domain ID the request is intended for.""")
65106
@cli_util.option('--config-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["SPAN_FILTER", "METRIC_GROUP", "APDEX", "OPTIONS"]), help=u"""The type of configuration item.""")
@@ -312,6 +353,31 @@ def delete_config(ctx, from_json, apm_domain_id, config_id, if_match):
312353
cli_util.render_response(result, ctx)
313354

314355

356+
@export_configuration_details_group.command(name=cli_util.override('apm_config.export_configuration.command_name', 'export-configuration'), help=u"""Exports configurations for the whole domain by domainId. \n[Command Reference](exportConfiguration)""")
357+
@cli_util.option('--configuration-map', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that has parameters related to the export process (ConfigurationId, Skip, \u2026) and more. Example: `{\"parameter-key\": \"parameter-value\"}` Supported parameters: \u2014 List of the Configuration Type or Groups to Export to a destination domain.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
358+
@cli_util.option('--apm-domain-id', required=True, help=u"""The APM Domain ID the request is intended for.""")
359+
@json_skeleton_utils.get_cli_json_input_option({'configuration-map': {'module': 'apm_config', 'class': 'dict(str, string)'}})
360+
@cli_util.help_option
361+
@click.pass_context
362+
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'configuration-map': {'module': 'apm_config', 'class': 'dict(str, string)'}}, output_type={'module': 'apm_config', 'class': 'ExportConfigurationResponseDetails'})
363+
@cli_util.wrap_exceptions
364+
def export_configuration(ctx, from_json, configuration_map, apm_domain_id):
365+
366+
kwargs = {}
367+
kwargs['opc_request_id'] = cli_util.use_or_generate_request_id(ctx.obj['request_id'])
368+
369+
_details = {}
370+
_details['configurationMap'] = cli_util.parse_json_parameter("configuration_map", configuration_map)
371+
372+
client = cli_util.build_client('apm_config', 'config', ctx)
373+
result = client.export_configuration(
374+
apm_domain_id=apm_domain_id,
375+
export_configuration_details=_details,
376+
**kwargs
377+
)
378+
cli_util.render_response(result, ctx)
379+
380+
315381
@config_group.command(name=cli_util.override('apm_config.get_config.command_name', 'get'), help=u"""Gets the configuration item identified by the OCID. \n[Command Reference](getConfig)""")
316382
@cli_util.option('--apm-domain-id', required=True, help=u"""The APM Domain ID the request is intended for.""")
317383
@cli_util.option('--config-id', required=True, help=u"""The [OCID] of the configuration item.""")
@@ -336,6 +402,33 @@ def get_config(ctx, from_json, apm_domain_id, config_id):
336402
cli_util.render_response(result, ctx)
337403

338404

405+
@import_configuration_details_group.command(name=cli_util.override('apm_config.import_configuration.command_name', 'import-configuration'), help=u"""Import configurations Item(s) with its dependencies into a destination domain. \n[Command Reference](importConfiguration)""")
406+
@cli_util.option('--configuration-items', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""A list of Configurations Details .""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
407+
@cli_util.option('--configuration-map', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that has parameters related to the import process (EnableOcidSubstitution, Skip, \u2026) and more. Example: `{\"parameter-key\": \"parameter-value\"}` Supported parameters: \u2014 Enable the OCIDs in instructions to be replaced, if set to \"true\" The Config Service replace any OCIDs it finds in the instructions, if set to true the Config Service will replace. \u2014 Compartment Id we want to import the configuration Items, if the compartment Id is not provided it will be the default destination domain compartmentId.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
408+
@cli_util.option('--apm-domain-id', required=True, help=u"""The APM Domain ID the request is intended for.""")
409+
@json_skeleton_utils.get_cli_json_input_option({'configuration-items': {'module': 'apm_config', 'class': 'list[ExportImportConfigSummary]'}, 'configuration-map': {'module': 'apm_config', 'class': 'dict(str, string)'}})
410+
@cli_util.help_option
411+
@click.pass_context
412+
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'configuration-items': {'module': 'apm_config', 'class': 'list[ExportImportConfigSummary]'}, 'configuration-map': {'module': 'apm_config', 'class': 'dict(str, string)'}}, output_type={'module': 'apm_config', 'class': 'ImportConfigurationFailedItemsCollection'})
413+
@cli_util.wrap_exceptions
414+
def import_configuration(ctx, from_json, configuration_items, configuration_map, apm_domain_id):
415+
416+
kwargs = {}
417+
kwargs['opc_request_id'] = cli_util.use_or_generate_request_id(ctx.obj['request_id'])
418+
419+
_details = {}
420+
_details['configurationItems'] = cli_util.parse_json_parameter("configuration_items", configuration_items)
421+
_details['configurationMap'] = cli_util.parse_json_parameter("configuration_map", configuration_map)
422+
423+
client = cli_util.build_client('apm_config', 'config', ctx)
424+
result = client.import_configuration(
425+
apm_domain_id=apm_domain_id,
426+
import_configuration_details=_details,
427+
**kwargs
428+
)
429+
cli_util.render_response(result, ctx)
430+
431+
339432
@config_collection_group.command(name=cli_util.override('apm_config.list_configs.command_name', 'list-configs'), help=u"""Returns all configuration items, which can optionally be filtered by configuration type. \n[Command Reference](listConfigs)""")
340433
@cli_util.option('--apm-domain-id', required=True, help=u"""The APM Domain ID the request is intended for.""")
341434
@cli_util.option('--config-type', help=u"""A filter to match configuration items of a given type. Supported values are SPAN_FILTER, METRIC_GROUP, and APDEX.""")

services/apm_config/tests/util/generated/command_to_api.py

+3
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,12 @@
22
# Copyright (c) 2016, 2025, Oracle and/or its affiliates. All rights reserved.
33

44
SDK_client_map = {
5+
"apm_config.copy_configuration": "oci.apm_config.ConfigClient.copy_configuration",
56
"apm_config.create_config": "oci.apm_config.ConfigClient.create_config",
67
"apm_config.delete_config": "oci.apm_config.ConfigClient.delete_config",
8+
"apm_config.export_configuration": "oci.apm_config.ConfigClient.export_configuration",
79
"apm_config.get_config": "oci.apm_config.ConfigClient.get_config",
10+
"apm_config.import_configuration": "oci.apm_config.ConfigClient.import_configuration",
811
"apm_config.list_configs": "oci.apm_config.ConfigClient.list_configs",
912
"apm_config.retrieve_namespace_metrics": "oci.apm_config.ConfigClient.retrieve_namespace_metrics",
1013
"apm_config.retrieve_namespaces": "oci.apm_config.ConfigClient.retrieve_namespaces",

0 commit comments

Comments
 (0)