Skip to content

Commit 4571cc5

Browse files
Releasing version 3.63.3
Releasing version 3.63.3
2 parents 95d3a22 + 836d41c commit 4571cc5

File tree

32 files changed

+857
-4
lines changed

32 files changed

+857
-4
lines changed

CHANGELOG.rst

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,18 @@ 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.63.3 - 2025-08-05
10+
--------------------
11+
Added
12+
~~~~~
13+
* Support for Oracle Multicloud Hub service
14+
15+
* ``oci multicloud``
16+
17+
* Support for SubmitRawEmail API in Email Delivery service
18+
19+
* ``oci email-data-plane email-raw-submitted-response submit-raw-email``
20+
921
3.63.2 - 2025-07-29
1022
--------------------
1123
Added

requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ 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.157.0
18+
oci==2.157.1
1919
packaging==20.2
2020
pluggy==0.13.0
2121
py==1.11.0

services/database/src/oci_cli_database/database_cli_extended.py

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -881,6 +881,12 @@ def create_database_from_backup(ctx, wait_for_state, max_wait_seconds, wait_inte
881881
if 'sid_prefix' in kwargs and kwargs['sid_prefix']:
882882
create_database_details.sid_prefix = kwargs['sid_prefix']
883883

884+
if 'freeform_tags' in kwargs and kwargs['freeform_tags']:
885+
create_database_details.freeform_tags = cli_util.parse_json_parameter('freeform_tags', kwargs['freeform_tags'])
886+
887+
if 'defined_tags' in kwargs and kwargs['defined_tags']:
888+
create_database_details.defined_tags = cli_util.parse_json_parameter('defined_tags', kwargs['defined_tags'])
889+
884890
if 'database_software_image_id' in kwargs and kwargs['database_software_image_id']:
885891
create_db_home_with_system_details.database_software_image_id = kwargs['database_software_image_id']
886892

@@ -4058,7 +4064,7 @@ def list_exadb_vm_clusters_extended(ctx, **kwargs):
40584064
# database_cli.database_group.commands.pop(database_cli.create_database_create_stand_by_database_details.name)
40594065

40604066

4061-
# @cli_util.copy_params_from_generated_command(database_cli.create_database_create_stand_by_database_details, params_to_exclude=['database'])
4067+
@cli_util.copy_params_from_generated_command(database_cli.create_database_create_stand_by_database_details, params_to_exclude=['database'])
40624068
@database_cli.database_group.command(name='create-standby-database', help="""Creates a new standby database for the given source database id.""")
40634069
@cli_util.option('--database-admin-password', required=True, help=u"""The administrator password of the primary database in this Data Guard association.
40644070
@@ -4076,8 +4082,11 @@ def list_exadb_vm_clusters_extended(ctx, **kwargs):
40764082
@cli_util.option('--source-database-id', required=True, help=u"""The [OCID] of the source (primary) database for the Data Guard group.""")
40774083
@cli_util.option('--source-tde-wallet-password', help=u"""The existing TDE wallet password of the source (primary) database.""")
40784084
@cli_util.option('--sid-prefix', help=u"""Specifies a prefix for the `Oracle SID` of the standby database to be created.""")
4085+
@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. For more information, see [Resource Tags].\n\nExample: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
4086+
@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. For more information, see [Resource Tags].""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
40794087
@cli_util.help_option
40804088
@click.pass_context
4089+
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'freeform-tags': {'module': 'database', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'database', 'class': 'dict(str, dict(str, object))'}}, output_type={'module': 'database', 'class': 'DatabaseSummary'})
40814090
@cli_util.wrap_exceptions
40824091
def create_standby_database_for_multiple_standby(ctx, wait_for_state, max_wait_seconds, wait_interval_seconds, **kwargs):
40834092

@@ -4112,6 +4121,12 @@ def create_standby_database_for_multiple_standby(ctx, wait_for_state, max_wait_s
41124121
if 'sid_prefix' in kwargs and kwargs['sid_prefix']:
41134122
create_standby_details.sid_prefix = kwargs['sid_prefix']
41144123

4124+
if 'freeform_tags' in kwargs and kwargs['freeform_tags']:
4125+
create_standby_details.freeform_tags = cli_util.parse_json_parameter('freeform_tags', kwargs['freeform_tags'])
4126+
4127+
if 'defined_tags' in kwargs and kwargs['defined_tags']:
4128+
create_standby_details.defined_tags = cli_util.parse_json_parameter('defined_tags', kwargs['defined_tags'])
4129+
41154130
_details['database'] = create_standby_details
41164131

41174132
if 'db_version' in kwargs and kwargs['db_version']:

services/email_data_plane/src/oci_cli_email_dp/generated/emaildp_cli.py

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,14 @@ def email_submitted_response_group():
2929
pass
3030

3131

32+
@click.command(cli_util.override('email_data_plane.email_raw_submitted_response_group.command_name', 'email-raw-submitted-response'), cls=CommandGroupWithAlias, help="""Response object that is returned to sender upon successfully submitting the email request.""")
33+
@cli_util.help_option_group
34+
def email_raw_submitted_response_group():
35+
pass
36+
37+
3238
email_data_plane_root_group.add_command(email_submitted_response_group)
39+
email_data_plane_root_group.add_command(email_raw_submitted_response_group)
3340

3441

3542
@email_submitted_response_group.command(name=cli_util.override('email_data_plane.submit_email.command_name', 'submit-email'), help=u"""Submits a formatted email. \n[Command Reference](submitEmail)""")
@@ -79,3 +86,37 @@ def submit_email(ctx, from_json, sender, recipients, subject, message_id, body_h
7986
**kwargs
8087
)
8188
cli_util.render_response(result, ctx)
89+
90+
91+
@email_raw_submitted_response_group.command(name=cli_util.override('email_data_plane.submit_raw_email.command_name', 'submit-raw-email'), help=u"""Submits a raw email. \n[Command Reference](submitRawEmail)""")
92+
@cli_util.option('--content-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["message/rfc822", "message/global"]), help=u"""The media type of the body.""")
93+
@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment that contains the approved sender resource.""")
94+
@cli_util.option('--sender', required=True, help=u"""The envelope and the header from email address, that is sending the email. Email address must be an approved sender.""")
95+
@cli_util.option('--recipients', required=True, multiple=True, help=u"""The destination for the email, all recipients including to, cc and bcc addresses.""")
96+
@cli_util.option('--raw-message', required=True, help=u"""This should be formatted in valid MIME format. Message can include attachments. MIME libraries should be used to convert the content into the appropriate format.""")
97+
@cli_util.option('--content-length', type=click.INT, help=u"""The content length of the body.""")
98+
@json_skeleton_utils.get_cli_json_input_option({'recipients': {'module': 'email_data_plane', 'class': ''}})
99+
@cli_util.help_option
100+
@click.pass_context
101+
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'recipients': {'module': 'email_data_plane', 'class': ''}}, output_type={'module': 'email_data_plane', 'class': 'EmailRawSubmittedResponse'})
102+
@cli_util.wrap_exceptions
103+
def submit_raw_email(ctx, from_json, content_type, compartment_id, sender, recipients, raw_message, content_length):
104+
105+
kwargs = {}
106+
if content_length is not None:
107+
kwargs['content_length'] = content_length
108+
kwargs['opc_request_id'] = cli_util.use_or_generate_request_id(ctx.obj['request_id'])
109+
110+
# do not automatically retry operations with binary inputs
111+
kwargs['retry_strategy'] = oci.retry.NoneRetryStrategy()
112+
113+
client = cli_util.build_client('email_data_plane', 'email_dp', ctx)
114+
result = client.submit_raw_email(
115+
content_type=content_type,
116+
compartment_id=compartment_id,
117+
sender=sender,
118+
recipients=recipients,
119+
raw_message=raw_message,
120+
**kwargs
121+
)
122+
cli_util.render_response(result, ctx)

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,5 @@
33

44
SDK_client_map = {
55
"email_data_plane.submit_email": "oci.email_data_plane.EmailDPClient.submit_email",
6+
"email_data_plane.submit_raw_email": "oci.email_data_plane.EmailDPClient.submit_raw_email",
67
}

services/multicloud/__init__.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# coding: utf-8
2+
# Copyright (c) 2016, 2025, Oracle and/or its affiliates. All rights reserved.
3+
# 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.
4+
# NOTE: This class is auto generated by OracleSDKGenerator. DO NOT EDIT. API Version: 20180828

services/multicloud/src/__init__.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# coding: utf-8
2+
# Copyright (c) 2016, 2025, Oracle and/or its affiliates. All rights reserved.
3+
# 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.
4+
# NOTE: This class is auto generated by OracleSDKGenerator. DO NOT EDIT. API Version: 20180828
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# coding: utf-8
2+
# Copyright (c) 2016, 2025, Oracle and/or its affiliates. All rights reserved.
3+
# 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.
4+
# NOTE: This class is auto generated by OracleSDKGenerator. DO NOT EDIT. API Version: 20180828
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# coding: utf-8
2+
# Copyright (c) 2016, 2025, Oracle and/or its affiliates. All rights reserved.
3+
# 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.
4+
# NOTE: This class is auto generated by OracleSDKGenerator. DO NOT EDIT. API Version: 20180828
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# coding: utf-8
2+
# Copyright (c) 2016, 2025, Oracle and/or its affiliates. All rights reserved.
3+
# 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.
4+
# NOTE: This class is auto generated by OracleSDKGenerator. DO NOT EDIT. API Version: 20180828
5+
6+
import oci
7+
from oci_cli.cli_clients import CLIENT_MAP
8+
from oci_cli.cli_clients import MODULE_TO_TYPE_MAPPINGS
9+
from oci.multicloud import MetadataClient
10+
11+
MODULE_TO_TYPE_MAPPINGS["multicloud"] = oci.multicloud.models.multicloud_type_mapping
12+
if CLIENT_MAP.get("multicloud") is None:
13+
CLIENT_MAP["multicloud"] = {}
14+
CLIENT_MAP["multicloud"]["metadata"] = MetadataClient

0 commit comments

Comments
 (0)