Skip to content

Commit a0525e1

Browse files
NupurGupta3101HamadaGabrIbrahimharshkumar-devKanvipasrichalealex262
committed
Releasing version 3.28.2
Co-authored-by: Hamada Ibrahim <[email protected]> Co-authored-by: Harsh Kumar <[email protected]> Co-authored-by: Kanvi Pasricha <[email protected]> Co-authored-by: Alex Le <[email protected]> Co-authored-by: Karthik Kamath <[email protected]> Co-authored-by: Mandy Tsai <[email protected]> Co-authored-by: Pankaj Joshi <[email protected]> Co-authored-by: Anup Singh <[email protected]>
1 parent 3a18d61 commit a0525e1

File tree

11 files changed

+290
-31
lines changed

11 files changed

+290
-31
lines changed

CHANGELOG.rst

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,30 @@ 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.28.2 - 2023-06-06
10+
--------------------
11+
Added
12+
~~~~~
13+
* Support for adding and removing Kafka in the Big Data service
14+
15+
* ``oci bds kafka add``
16+
* ``oci bds kafka remove``
17+
18+
* Support for obtaining compute capacity report in Core services
19+
20+
* ``oci compute compute-capacity-report``
21+
22+
* Support for enabling and disabling MySQL HeatWave Lakehouse in the Mysql Database service
23+
24+
* ``oci mysql db-system heatwave-cluster add --is-lakehouse-enabled``
25+
* ``oci mysql db-system heatwave-cluster update --is-lakehouse-enabled``
26+
27+
* Support for adding, creating, and removing migration with csvText in the Database Migration service
28+
29+
* ``oci database-migration migration add --csv-text``
30+
* ``oci database-migration migration create --csv-text``
31+
* ``oci database-migration migration remove --csv-text``
32+
933
3.28.1 - 2023-05-30
1034
--------------------
1135
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.104.0
17+
oci==2.104.1
1818
packaging==20.2
1919
pluggy==0.13.0
2020
py==1.10.0

services/bds/src/oci_cli_bds/bds_cli_extended.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,19 @@ def bds_worker_nodes_group():
3131
bds_worker_nodes_group.add_command(bds_cli.add_worker_nodes)
3232

3333

34+
# oci bds bds-instance add -> oci bds kafka
35+
# oci bds bds-instance remove -> oci bds kafka
36+
@click.command('kafka', cls=CommandGroupWithAlias, help='Kafka')
37+
@cli_util.help_option_group
38+
def bds_kafka_group():
39+
pass
40+
41+
42+
bds_cli.bds_root_group.add_command(bds_kafka_group)
43+
bds_kafka_group.add_command(bds_cli.add_kafka)
44+
bds_kafka_group.add_command(bds_cli.remove_kafka)
45+
46+
3447
# Add command: oci bds block-storage add
3548
@click.command('block-storage', cls=CommandGroupWithAlias, help=bds_cli.add_block_storage.help)
3649
@cli_util.help_option_group

services/bds/src/oci_cli_bds/generated/bds_cli.py

Lines changed: 132 additions & 6 deletions
Large diffs are not rendered by default.

services/core/src/oci_cli_compute/generated/compute_cli.py

Lines changed: 75 additions & 11 deletions
Large diffs are not rendered by default.

services/core/src/oci_cli_compute_management/generated/computemanagement_cli.py

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -297,7 +297,9 @@ def change_instance_pool_compartment(ctx, from_json, instance_pool_id, compartme
297297
cli_util.render_response(result, ctx)
298298

299299

300-
@cluster_network_group.command(name=cli_util.override('compute_management.create_cluster_network.command_name', 'create'), help=u"""Creates a cluster network. For more information about cluster networks, see [Managing Cluster Networks]. \n[Command Reference](createClusterNetwork)""")
300+
@cluster_network_group.command(name=cli_util.override('compute_management.create_cluster_network.command_name', 'create'), help=u"""Creates a cluster network. For more information about cluster networks, see [Managing Cluster Networks].
301+
302+
To determine whether capacity is available for a specific shape before you create a cluster network, use the [CreateComputeCapacityReport] operation. \n[Command Reference](createClusterNetwork)""")
301303
@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment containing the cluster network.""")
302304
@cli_util.option('--instance-pools', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The data to create the instance pools in the cluster network.
303305
@@ -503,7 +505,9 @@ def create_instance_configuration_create_instance_configuration_from_instance_de
503505
cli_util.render_response(result, ctx)
504506

505507

506-
@instance_pool_group.command(name=cli_util.override('compute_management.create_instance_pool.command_name', 'create'), help=u"""Creates an instance pool. \n[Command Reference](createInstancePool)""")
508+
@instance_pool_group.command(name=cli_util.override('compute_management.create_instance_pool.command_name', 'create'), help=u"""Creates an instance pool.
509+
510+
To determine whether capacity is available for a specific shape before you create an instance pool, use the [CreateComputeCapacityReport] operation. \n[Command Reference](createInstancePool)""")
507511
@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment containing the instance pool.""")
508512
@cli_util.option('--instance-configuration-id', required=True, help=u"""The [OCID] of the instance configuration associated with the instance pool.""")
509513
@cli_util.option('--placement-configurations', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The placement configurations for the instance pool. Provide one placement configuration for each availability domain.
@@ -850,7 +854,9 @@ def get_instance_pool_load_balancer_attachment(ctx, from_json, instance_pool_id,
850854

851855
@instance_group.command(name=cli_util.override('compute_management.launch_instance_configuration.command_name', 'launch-instance-configuration'), help=u"""Creates an instance from an instance configuration.
852856
853-
If the instance configuration does not include all of the parameters that are required to create an instance, such as the availability domain and subnet ID, you must provide these parameters when you create an instance from the instance configuration. For more information, see the [InstanceConfiguration] resource. \n[Command Reference](launchInstanceConfiguration)""")
857+
If the instance configuration does not include all of the parameters that are required to create an instance, such as the availability domain and subnet ID, you must provide these parameters when you create an instance from the instance configuration. For more information, see the [InstanceConfiguration] resource.
858+
859+
To determine whether capacity is available for a specific shape before you create an instance, use the [CreateComputeCapacityReport] operation. \n[Command Reference](launchInstanceConfiguration)""")
854860
@cli_util.option('--instance-configuration-id', required=True, help=u"""The OCID of the instance configuration.""")
855861
@cli_util.option('--instance-type', required=True, help=u"""The type of instance details. Supported instanceType is compute""")
856862
@json_skeleton_utils.get_cli_json_input_option({})
@@ -879,7 +885,9 @@ def launch_instance_configuration(ctx, from_json, instance_configuration_id, ins
879885

880886
@instance_group.command(name=cli_util.override('compute_management.launch_instance_configuration_compute_instance_details.command_name', 'launch-instance-configuration-compute-instance-details'), help=u"""Creates an instance from an instance configuration.
881887
882-
If the instance configuration does not include all of the parameters that are required to create an instance, such as the availability domain and subnet ID, you must provide these parameters when you create an instance from the instance configuration. For more information, see the [InstanceConfiguration] resource. \n[Command Reference](launchInstanceConfiguration)""")
888+
If the instance configuration does not include all of the parameters that are required to create an instance, such as the availability domain and subnet ID, you must provide these parameters when you create an instance from the instance configuration. For more information, see the [InstanceConfiguration] resource.
889+
890+
To determine whether capacity is available for a specific shape before you create an instance, use the [CreateComputeCapacityReport] operation. \n[Command Reference](launchInstanceConfiguration)""")
883891
@cli_util.option('--instance-configuration-id', required=True, help=u"""The OCID of the instance configuration.""")
884892
@cli_util.option('--block-volumes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Block volume parameters.
885893
@@ -1761,7 +1769,9 @@ def update_instance_configuration(ctx, from_json, force, instance_configuration_
17611769
To use the instance pool with a regional subnet, provide a placement configuration for each availability domain, and include the regional subnet in each placement configuration.
17621770
17631771
This option is a JSON list with items of type UpdateInstancePoolPlacementConfigurationDetails. For documentation on UpdateInstancePoolPlacementConfigurationDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/iaas/20160918/datatypes/UpdateInstancePoolPlacementConfigurationDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
1764-
@cli_util.option('--size', type=click.INT, help=u"""The number of instances that should be in the instance pool.""")
1772+
@cli_util.option('--size', type=click.INT, help=u"""The number of instances that should be in the instance pool.
1773+
1774+
To determine whether capacity is available for a specific shape before you resize an instance pool, use the [CreateComputeCapacityReport] operation.""")
17651775
@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.""")
17661776
@cli_util.option('--force', help="""Perform update without prompting for confirmation.""", is_flag=True)
17671777
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["PROVISIONING", "SCALING", "STARTING", "STOPPING", "TERMINATING", "STOPPED", "TERMINATED", "RUNNING"]), 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.""")

services/database_migration/src/oci_cli_database_migration/generated/databasemigration_cli.py

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -197,13 +197,14 @@ def abort_job(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_se
197197
@migration_group.command(name=cli_util.override('database_migration.add_migration_objects.command_name', 'add'), help=u"""Add excluded/included object to the list. \n[Command Reference](addMigrationObjects)""")
198198
@cli_util.option('--migration-id', required=True, help=u"""The OCID of the migration""")
199199
@cli_util.option('--items', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""Database objects to exclude/include from migration""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
200+
@cli_util.option('--csv-text', help=u"""Database objects to exclude/include from migration in CSV format. The items field will be ignored if this field is not null.""")
200201
@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.""")
201202
@json_skeleton_utils.get_cli_json_input_option({'items': {'module': 'database_migration', 'class': 'list[MigrationObjectSummary]'}})
202203
@cli_util.help_option
203204
@click.pass_context
204205
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'items': {'module': 'database_migration', 'class': 'list[MigrationObjectSummary]'}})
205206
@cli_util.wrap_exceptions
206-
def add_migration_objects(ctx, from_json, migration_id, items, if_match):
207+
def add_migration_objects(ctx, from_json, migration_id, items, csv_text, if_match):
207208

208209
if isinstance(migration_id, six.string_types) and len(migration_id.strip()) == 0:
209210
raise click.UsageError('Parameter --migration-id cannot be whitespace or empty string')
@@ -216,6 +217,9 @@ def add_migration_objects(ctx, from_json, migration_id, items, if_match):
216217
_details = {}
217218
_details['items'] = cli_util.parse_json_parameter("items", items)
218219

220+
if csv_text is not None:
221+
_details['csvText'] = csv_text
222+
219223
client = cli_util.build_client('database_migration', 'database_migration', ctx)
220224
result = client.add_migration_objects(
221225
migration_id=migration_id,
@@ -563,6 +567,7 @@ def create_connection(ctx, from_json, wait_for_state, max_wait_seconds, wait_int
563567
@cli_util.option('--include-objects', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Database objects to include from migration, cannot be specified alongside 'excludeObjects'
564568
565569
This option is a JSON list with items of type DatabaseObject. For documentation on DatabaseObject please see our API reference: https://docs.cloud.oracle.com/api/#/en/databasemigration/20210929/datatypes/DatabaseObject.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
570+
@cli_util.option('--csv-text', help=u"""Database objects to exclude/include from migration in CSV format. The excludeObjects and includeObjects fields will be ignored if this field is not null.""")
566571
@cli_util.option('--golden-gate-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
567572
@cli_util.option('--vault-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
568573
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -575,7 +580,7 @@ def create_connection(ctx, from_json, wait_for_state, max_wait_seconds, wait_int
575580
@click.pass_context
576581
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'data-transfer-medium-details': {'module': 'database_migration', 'class': 'CreateDataTransferMediumDetails'}, 'dump-transfer-details': {'module': 'database_migration', 'class': 'CreateDumpTransferDetails'}, 'datapump-settings': {'module': 'database_migration', 'class': 'CreateDataPumpSettings'}, 'advisor-settings': {'module': 'database_migration', 'class': 'CreateAdvisorSettings'}, 'exclude-objects': {'module': 'database_migration', 'class': 'list[DatabaseObject]'}, 'include-objects': {'module': 'database_migration', 'class': 'list[DatabaseObject]'}, 'golden-gate-details': {'module': 'database_migration', 'class': 'CreateGoldenGateDetails'}, 'vault-details': {'module': 'database_migration', 'class': 'CreateVaultDetails'}, 'freeform-tags': {'module': 'database_migration', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'database_migration', 'class': 'dict(str, dict(str, object))'}}, output_type={'module': 'database_migration', 'class': 'Migration'})
577582
@cli_util.wrap_exceptions
578-
def create_migration(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_seconds, type, compartment_id, source_database_connection_id, target_database_connection_id, display_name, agent_id, source_container_database_connection_id, data_transfer_medium_details, dump_transfer_details, datapump_settings, advisor_settings, exclude_objects, include_objects, golden_gate_details, vault_details, freeform_tags, defined_tags):
583+
def create_migration(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_seconds, type, compartment_id, source_database_connection_id, target_database_connection_id, display_name, agent_id, source_container_database_connection_id, data_transfer_medium_details, dump_transfer_details, datapump_settings, advisor_settings, exclude_objects, include_objects, csv_text, golden_gate_details, vault_details, freeform_tags, defined_tags):
579584

580585
kwargs = {}
581586
kwargs['opc_request_id'] = cli_util.use_or_generate_request_id(ctx.obj['request_id'])
@@ -613,6 +618,9 @@ def create_migration(ctx, from_json, wait_for_state, max_wait_seconds, wait_inte
613618
if include_objects is not None:
614619
_details['includeObjects'] = cli_util.parse_json_parameter("include_objects", include_objects)
615620

621+
if csv_text is not None:
622+
_details['csvText'] = csv_text
623+
616624
if golden_gate_details is not None:
617625
_details['goldenGateDetails'] = cli_util.parse_json_parameter("golden_gate_details", golden_gate_details)
618626

@@ -1807,13 +1815,14 @@ def list_work_requests(ctx, from_json, all_pages, page_size, compartment_id, res
18071815
@migration_group.command(name=cli_util.override('database_migration.remove_migration_objects.command_name', 'remove'), help=u"""Remove excluded/included objects. \n[Command Reference](removeMigrationObjects)""")
18081816
@cli_util.option('--migration-id', required=True, help=u"""The OCID of the migration""")
18091817
@cli_util.option('--items', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""Database objects to exclude/include from migration""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
1818+
@cli_util.option('--csv-text', help=u"""Database objects to exclude/include from migration in CSV format. The items field will be ignored if this field is not null.""")
18101819
@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.""")
18111820
@json_skeleton_utils.get_cli_json_input_option({'items': {'module': 'database_migration', 'class': 'list[MigrationObjectSummary]'}})
18121821
@cli_util.help_option
18131822
@click.pass_context
18141823
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'items': {'module': 'database_migration', 'class': 'list[MigrationObjectSummary]'}})
18151824
@cli_util.wrap_exceptions
1816-
def remove_migration_objects(ctx, from_json, migration_id, items, if_match):
1825+
def remove_migration_objects(ctx, from_json, migration_id, items, csv_text, if_match):
18171826

18181827
if isinstance(migration_id, six.string_types) and len(migration_id.strip()) == 0:
18191828
raise click.UsageError('Parameter --migration-id cannot be whitespace or empty string')
@@ -1826,6 +1835,9 @@ def remove_migration_objects(ctx, from_json, migration_id, items, if_match):
18261835
_details = {}
18271836
_details['items'] = cli_util.parse_json_parameter("items", items)
18281837

1838+
if csv_text is not None:
1839+
_details['csvText'] = csv_text
1840+
18291841
client = cli_util.build_client('database_migration', 'database_migration', ctx)
18301842
result = client.remove_migration_objects(
18311843
migration_id=migration_id,

0 commit comments

Comments
 (0)