Skip to content

Commit 5b26a73

Browse files
authored
Releasing version 3.25.0
Releasing version 3.25.0
2 parents 44584bb + 7c59055 commit 5b26a73

File tree

9 files changed

+532
-33
lines changed

9 files changed

+532
-33
lines changed

CHANGELOG.rst

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,51 @@ 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.25.0 - 2023-03-28
10+
--------------------
11+
12+
Added
13+
~~~~~
14+
* Compute service
15+
16+
* Support for new compute cluster commands
17+
18+
* ``oci compute compute-cluster change-compartment``
19+
* ``oci compute compute-cluster create``
20+
* ``oci compute compute-cluster delete``
21+
* ``oci compute compute-cluster get``
22+
* ``oci compute compute-cluster list``
23+
* ``oci compute compute-cluster update``
24+
25+
* Support for a new optional parameter --compute-cluster-id
26+
27+
* ``oci compute instance launch --compute-cluster-id``
28+
* ``oci compute instance list --compute-cluster-id``
29+
30+
* Support for a new command to get connection diagnostics for registered databases in the Database Migration service
31+
32+
* ``oci database-migration connection connection-diagnostics``
33+
34+
* Support for a new command to validate connection credentials in the DevOps service
35+
36+
* ``oci devops connection validate``
37+
38+
* Support for a new optional parameter allowing ACD and OKV wallet naming in the Database service
39+
40+
* ``oci db autonomous-container-database create --db-name``
41+
42+
Changed
43+
~~~~~~~
44+
* [BREAKING] Database service
45+
46+
* The command db-system-compute-performance list has been renamed
47+
48+
* ``oci db system list-db-system-compute-performances``
49+
50+
* The command db-system-storage-performance list has been renamed
51+
52+
* ``oci db system list-db-system-storage-performances``
53+
954
3.24.0 - 2023-03-21
1055
--------------------
1156

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.96.0
17+
oci==2.96.1
1818
packaging==20.2
1919
pluggy==0.13.0
2020
py==1.10.0

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

Lines changed: 400 additions & 12 deletions
Large diffs are not rendered by default.

services/database/src/oci_cli_database/generated/database_cli.py

Lines changed: 7 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -147,12 +147,6 @@ def maintenance_run_group():
147147
pass
148148

149149

150-
@click.command(cli_util.override('db.db_system_compute_performance_group.command_name', 'db-system-compute-performance'), cls=CommandGroupWithAlias, help="""Representation of disk performance detail parameters.""")
151-
@cli_util.help_option_group
152-
def db_system_compute_performance_group():
153-
pass
154-
155-
156150
@click.command(cli_util.override('db.cloud_exadata_infrastructure_unallocated_resources_group.command_name', 'cloud-exadata-infrastructure-unallocated-resources'), cls=CommandGroupWithAlias, help="""Details of unallocated resources of the Cloud Exadata infrastructure. Applies to Cloud Exadata infrastructure instances only.""")
157151
@cli_util.help_option_group
158152
def cloud_exadata_infrastructure_unallocated_resources_group():
@@ -315,12 +309,6 @@ def autonomous_container_database_dataguard_association_group():
315309
pass
316310

317311

318-
@click.command(cli_util.override('db.db_system_storage_performance_group.command_name', 'db-system-storage-performance'), cls=CommandGroupWithAlias, help="""Representation of storage performance summary per shapeType .""")
319-
@cli_util.help_option_group
320-
def db_system_storage_performance_group():
321-
pass
322-
323-
324312
@click.command(cli_util.override('db.db_system_group.command_name', 'db-system'), cls=CommandGroupWithAlias, help="""""")
325313
@cli_util.help_option_group
326314
def db_system_group():
@@ -423,7 +411,6 @@ def autonomous_virtual_machine_group():
423411
db_root_group.add_command(cloud_exadata_infrastructure_group)
424412
db_root_group.add_command(backup_destination_group)
425413
db_root_group.add_command(maintenance_run_group)
426-
db_root_group.add_command(db_system_compute_performance_group)
427414
db_root_group.add_command(cloud_exadata_infrastructure_unallocated_resources_group)
428415
db_root_group.add_command(autonomous_database_group)
429416
db_root_group.add_command(autonomous_database_dataguard_association_group)
@@ -449,7 +436,6 @@ def autonomous_virtual_machine_group():
449436
db_root_group.add_command(external_backup_job_group)
450437
db_root_group.add_command(autonomous_database_character_sets_group)
451438
db_root_group.add_command(autonomous_container_database_dataguard_association_group)
452-
db_root_group.add_command(db_system_storage_performance_group)
453439
db_root_group.add_command(db_system_group)
454440
db_root_group.add_command(autonomous_vm_cluster_group)
455441
db_root_group.add_command(key_store_group)
@@ -2287,6 +2273,7 @@ def convert_to_pdb_pdb_conversion_to_new_database_details(ctx, from_json, wait_f
22872273
@cli_util.option('--display-name', required=True, help=u"""The display name for the Autonomous Container Database.""")
22882274
@cli_util.option('--patch-model', required=True, type=custom_types.CliCaseInsensitiveChoice(["RELEASE_UPDATES", "RELEASE_UPDATE_REVISIONS"]), help=u"""Database Patch model preference.""")
22892275
@cli_util.option('--db-unique-name', help=u"""**Deprecated.** The `DB_UNIQUE_NAME` value is set by Oracle Cloud Infrastructure. Do not specify a value for this parameter. Specifying a value for this field will cause Terraform operations to fail.""")
2276+
@cli_util.option('--db-name', help=u"""The database name for the Autonomous Container Database. The name must be unique within the Cloud Autonomous VM Cluster, must start with an alphabetic character and followed by 1 to 7 alphanumeric characters.""")
22902277
@cli_util.option('--service-level-agreement-type', type=custom_types.CliCaseInsensitiveChoice(["STANDARD", "AUTONOMOUS_DATAGUARD"]), help=u"""The service level agreement type of the Autonomous Container Database. The default is STANDARD. For an autonomous dataguard Autonomous Container Database, the specified Autonomous Exadata Infrastructure must be associated with a remote Autonomous Exadata Infrastructure.""")
22912278
@cli_util.option('--autonomous-exadata-infrastructure-id', help=u"""**No longer used.** This parameter is no longer used for Autonomous Database on dedicated Exadata infrasture. Specify a `cloudAutonomousVmClusterId` instead. Using this parameter will cause the operation to fail.""")
22922279
@cli_util.option('--db-version', help=u"""The base version for the Autonomous Container Database.""")
@@ -2323,7 +2310,7 @@ def convert_to_pdb_pdb_conversion_to_new_database_details(ctx, from_json, wait_f
23232310
@click.pass_context
23242311
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'peer-autonomous-container-database-backup-config': {'module': 'database', 'class': 'PeerAutonomousContainerDatabaseBackupConfig'}, 'maintenance-window-details': {'module': 'database', 'class': 'MaintenanceWindow'}, 'freeform-tags': {'module': 'database', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'database', 'class': 'dict(str, dict(str, object))'}, 'backup-config': {'module': 'database', 'class': 'AutonomousContainerDatabaseBackupConfig'}}, output_type={'module': 'database', 'class': 'AutonomousContainerDatabase'})
23252312
@cli_util.wrap_exceptions
2326-
def create_autonomous_container_database(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_seconds, display_name, patch_model, db_unique_name, service_level_agreement_type, autonomous_exadata_infrastructure_id, db_version, peer_autonomous_exadata_infrastructure_id, peer_autonomous_container_database_display_name, protection_mode, fast_start_fail_over_lag_limit_in_seconds, is_automatic_failover_enabled, peer_cloud_autonomous_vm_cluster_id, peer_autonomous_vm_cluster_id, peer_autonomous_container_database_compartment_id, peer_autonomous_container_database_backup_config, peer_db_unique_name, autonomous_vm_cluster_id, cloud_autonomous_vm_cluster_id, compartment_id, maintenance_window_details, standby_maintenance_buffer_in_days, version_preference, freeform_tags, defined_tags, backup_config, kms_key_id, kms_key_version_id, vault_id, key_store_id):
2313+
def create_autonomous_container_database(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_seconds, display_name, patch_model, db_unique_name, db_name, service_level_agreement_type, autonomous_exadata_infrastructure_id, db_version, peer_autonomous_exadata_infrastructure_id, peer_autonomous_container_database_display_name, protection_mode, fast_start_fail_over_lag_limit_in_seconds, is_automatic_failover_enabled, peer_cloud_autonomous_vm_cluster_id, peer_autonomous_vm_cluster_id, peer_autonomous_container_database_compartment_id, peer_autonomous_container_database_backup_config, peer_db_unique_name, autonomous_vm_cluster_id, cloud_autonomous_vm_cluster_id, compartment_id, maintenance_window_details, standby_maintenance_buffer_in_days, version_preference, freeform_tags, defined_tags, backup_config, kms_key_id, kms_key_version_id, vault_id, key_store_id):
23272314

23282315
kwargs = {}
23292316

@@ -2334,6 +2321,9 @@ def create_autonomous_container_database(ctx, from_json, wait_for_state, max_wai
23342321
if db_unique_name is not None:
23352322
_details['dbUniqueName'] = db_unique_name
23362323

2324+
if db_name is not None:
2325+
_details['dbName'] = db_name
2326+
23372327
if service_level_agreement_type is not None:
23382328
_details['serviceLevelAgreementType'] = service_level_agreement_type
23392329

@@ -14942,7 +14932,7 @@ def list_db_servers(ctx, from_json, all_pages, page_size, compartment_id, exadat
1494214932
cli_util.render_response(result, ctx)
1494314933

1494414934

14945-
@db_system_compute_performance_group.command(name=cli_util.override('db.list_db_system_compute_performances.command_name', 'list'), help=u"""Gets a list of expected compute performance parameters for a virtual machine DB system based on system configuration. \n[Command Reference](listDbSystemComputePerformances)""")
14935+
@db_system_group.command(name=cli_util.override('db.list_db_system_compute_performances.command_name', 'list-db-system-compute-performances'), help=u"""Gets a list of expected compute performance parameters for a virtual machine DB system based on system configuration. \n[Command Reference](listDbSystemComputePerformances)""")
1494614936
@cli_util.option('--db-system-shape', help=u"""If provided, filters the results to the set of database versions which are supported for the given shape.""")
1494714937
@cli_util.option('--all', 'all_pages', is_flag=True, help="""Fetches all pages of results.""")
1494814938
@json_skeleton_utils.get_cli_json_input_option({})
@@ -15113,7 +15103,7 @@ def list_db_system_shapes(ctx, from_json, all_pages, page_size, compartment_id,
1511315103
cli_util.render_response(result, ctx)
1511415104

1511515105

15116-
@db_system_storage_performance_group.command(name=cli_util.override('db.list_db_system_storage_performances.command_name', 'list'), help=u"""Gets a list of possible expected storage performance parameters of a VMDB System based on Configuration. \n[Command Reference](listDbSystemStoragePerformances)""")
15106+
@db_system_group.command(name=cli_util.override('db.list_db_system_storage_performances.command_name', 'list-db-system-storage-performances'), help=u"""Gets a list of possible expected storage performance parameters of a VMDB System based on Configuration. \n[Command Reference](listDbSystemStoragePerformances)""")
1511715107
@cli_util.option('--storage-management', required=True, type=custom_types.CliCaseInsensitiveChoice(["ASM", "LVM"]), help=u"""The DB system storage management option. Used to list database versions available for that storage manager. Valid values are `ASM` and `LVM`. * ASM specifies Oracle Automatic Storage Management * LVM specifies logical volume manager, sometimes called logical disk manager.""")
1511815108
@cli_util.option('--shape-type', help=u"""Optional. Filters the performance results by shape type.""")
1511915109
@cli_util.option('--all', 'all_pages', is_flag=True, help="""Fetches all pages of results.""")

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

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -416,6 +416,31 @@ def clone_migration(ctx, from_json, wait_for_state, max_wait_seconds, wait_inter
416416
cli_util.render_response(result, ctx)
417417

418418

419+
@connection_group.command(name=cli_util.override('database_migration.connection_diagnostics.command_name', 'connection-diagnostics'), help=u"""Perform connection test for a database connection. \n[Command Reference](connectionDiagnostics)""")
420+
@cli_util.option('--connection-id', required=True, help=u"""The OCID of the database connection""")
421+
@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.""")
422+
@json_skeleton_utils.get_cli_json_input_option({})
423+
@cli_util.help_option
424+
@click.pass_context
425+
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={}, output_type={'module': 'database_migration', 'class': 'DiagnosticsResult'})
426+
@cli_util.wrap_exceptions
427+
def connection_diagnostics(ctx, from_json, connection_id, if_match):
428+
429+
if isinstance(connection_id, six.string_types) and len(connection_id.strip()) == 0:
430+
raise click.UsageError('Parameter --connection-id cannot be whitespace or empty string')
431+
432+
kwargs = {}
433+
if if_match is not None:
434+
kwargs['if_match'] = if_match
435+
kwargs['opc_request_id'] = cli_util.use_or_generate_request_id(ctx.obj['request_id'])
436+
client = cli_util.build_client('database_migration', 'database_migration', ctx)
437+
result = client.connection_diagnostics(
438+
connection_id=connection_id,
439+
**kwargs
440+
)
441+
cli_util.render_response(result, ctx)
442+
443+
419444
@connection_group.command(name=cli_util.override('database_migration.create_connection.command_name', 'create'), help=u"""Create a Database Connection resource that contains the details to connect to either a Source or Target Database in the migration. \n[Command Reference](createConnection)""")
420445
@cli_util.option('--compartment-id', required=True, help=u"""OCID of the compartment""")
421446
@cli_util.option('--database-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["MANUAL", "AUTONOMOUS", "USER_MANAGED_OCI"]), help=u"""Database connection type.""")

services/devops/src/oci_cli_devops/generated/devops_cli.py

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13004,3 +13004,54 @@ def update_trigger_update_bitbucket_cloud_trigger_details(ctx, from_json, force,
1300413004
else:
1300513005
click.echo('Unable to wait for the work request to enter the specified state', file=sys.stderr)
1300613006
cli_util.render_response(result, ctx)
13007+
13008+
13009+
@connection_group.command(name=cli_util.override('devops.validate_connection.command_name', 'validate'), help=u"""Return whether the credentials of the connection are valid. \n[Command Reference](validateConnection)""")
13010+
@cli_util.option('--connection-id', required=True, help=u"""Unique connection identifier.""")
13011+
@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.""")
13012+
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "DELETING"]), 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.""")
13013+
@cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the resource to reach the lifecycle state defined by --wait-for-state. Defaults to 1200 seconds.""")
13014+
@cli_util.option('--wait-interval-seconds', type=click.INT, help="""Check every --wait-interval-seconds to see whether the resource has reached the lifecycle state defined by --wait-for-state. Defaults to 30 seconds.""")
13015+
@json_skeleton_utils.get_cli_json_input_option({})
13016+
@cli_util.help_option
13017+
@click.pass_context
13018+
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={}, output_type={'module': 'devops', 'class': 'Connection'})
13019+
@cli_util.wrap_exceptions
13020+
def validate_connection(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_seconds, connection_id, if_match):
13021+
13022+
if isinstance(connection_id, six.string_types) and len(connection_id.strip()) == 0:
13023+
raise click.UsageError('Parameter --connection-id cannot be whitespace or empty string')
13024+
13025+
kwargs = {}
13026+
if if_match is not None:
13027+
kwargs['if_match'] = if_match
13028+
kwargs['opc_request_id'] = cli_util.use_or_generate_request_id(ctx.obj['request_id'])
13029+
client = cli_util.build_client('devops', 'devops', ctx)
13030+
result = client.validate_connection(
13031+
connection_id=connection_id,
13032+
**kwargs
13033+
)
13034+
if wait_for_state:
13035+
13036+
if hasattr(client, 'get_connection') and callable(getattr(client, 'get_connection')):
13037+
try:
13038+
wait_period_kwargs = {}
13039+
if max_wait_seconds is not None:
13040+
wait_period_kwargs['max_wait_seconds'] = max_wait_seconds
13041+
if wait_interval_seconds is not None:
13042+
wait_period_kwargs['max_interval_seconds'] = wait_interval_seconds
13043+
13044+
click.echo('Action completed. Waiting until the resource has entered state: {}'.format(wait_for_state), file=sys.stderr)
13045+
result = oci.wait_until(client, client.get_connection(result.data.id), 'lifecycle_state', wait_for_state, **wait_period_kwargs)
13046+
except oci.exceptions.MaximumWaitTimeExceeded as e:
13047+
# If we fail, we should show an error, but we should still provide the information to the customer
13048+
click.echo('Failed to wait until the resource entered the specified state. Outputting last known resource state', file=sys.stderr)
13049+
cli_util.render_response(result, ctx)
13050+
sys.exit(2)
13051+
except Exception:
13052+
click.echo('Encountered error while waiting for resource to enter the specified state. Outputting last known resource state', file=sys.stderr)
13053+
cli_util.render_response(result, ctx)
13054+
raise
13055+
else:
13056+
click.echo('Unable to wait for the resource to enter the specified state', file=sys.stderr)
13057+
cli_util.render_response(result, ctx)

services/identity/src/oci_cli_identity/identity_cli_extended.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@ def list_groups_for_user(ctx, from_json, compartment_id, user_id, page, limit, a
191191
@identity_cli.group_group.command(name='list-users', help="""Lists the users in the specified group. You must specify your tenancy's OCID as the value for the compartment ID (remember that the tenancy is simply the root compartment). See [Where to Get the Tenancy's OCID and User's OCID].""")
192192
@cli_util.option('--compartment-id', required=True,
193193
help="""The OCID of the compartment (remember that the tenancy is simply the root compartment).""")
194-
@cli_util.option('--group-id', required=True, help="""The OCID of the user.""")
194+
@cli_util.option('--group-id', required=True, help="""The OCID of the group.""")
195195
@cli_util.option('--page',
196196
help="""The value of the `opc-next-page` response header from the previous \"List\" call.""")
197197
@cli_util.option('--limit', type=click.INT, help="""The maximum number of items to return in a paginated \"List\" call.""")

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ def open_relative(*path):
2929
readme = f.read()
3030

3131
requires = [
32-
'oci==2.96.0',
32+
'oci==2.96.1',
3333
'arrow>=1.0.0',
3434
'certifi',
3535
'click==8.0.4',

src/oci_cli/version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
# Copyright (c) 2016, 2021, Oracle and/or its affiliates. All rights reserved.
33
# 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.
44

5-
__version__ = '3.24.0'
5+
__version__ = '3.25.0'

0 commit comments

Comments
 (0)