Skip to content

Commit 4c14aba

Browse files
authored
Merge pull request #572 from oracle/release_2022-07-26
Releasing version 3.12.0
2 parents dbd9407 + a00c558 commit 4c14aba

File tree

59 files changed

+3237
-2339
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

59 files changed

+3237
-2339
lines changed

CHANGELOG.rst

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,72 @@ 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.12.0 - 2022-07-26
10+
--------------------
11+
Added
12+
~~~~~
13+
* [BREAKING] Support for the Fusion Apps as a Service
14+
15+
* ``oci fusion-apps``
16+
17+
* Support for specifying size preference when requesting a Data Transfer Appliance in the Data Transfer Service
18+
19+
* ``oci dts appliance request --minimum-storage-capacity-in-terabytes``
20+
21+
* Support for listing all boot volume and replicas within a volume group replica in Boot-volume service
22+
23+
* ``oci bv boot-volume list --volume-group-id``
24+
* ``oci bv boot-volume-replica list --volume-group-replica-id``
25+
26+
* ``Big data service``
27+
28+
* Added support for encryption of boot and block volumes associated with the cluster using customer specified kmsKeyId
29+
30+
* ``oci bds instance create --kms-key-id``
31+
* ``oci bds instance update --kms-key-id``
32+
33+
* Added support for VM.Standard.E4.Flex shape for Cloud SQL (CSQL) node
34+
35+
* ``oci bds cloudsql add --shape-config``
36+
37+
* Support for Autonomous Database Dedicated on ExaCS in Operator Access Control Service
38+
39+
* ``oci opctl operator-control create --resource-type``
40+
* ``oci opctl operator-control-assignment create --resource-type``
41+
42+
* Support for new parameter in management-agent service
43+
44+
* ``oci management-agent work-request list --type``
45+
* ``oci management-agent plugin list --agent-id``
46+
* ``oci management-agent agent list --access-level --compartment-id-in-subtree``
47+
48+
* Support for viewing Automatic Workload Repository (AWR) data for databases added to AWRHub in Operations Insights service
49+
50+
* ``oci opsi awr-hubs *``
51+
52+
* Support for Monthly Security Maintenance with subtype "SECURITY_MONTHLY" in Database service
53+
54+
* ``oci db maintenance-run list --maintenance-subtype SECURITY_MONTHLY``
55+
56+
* Support for new fields to enable/modify database management in Database service
57+
58+
* ``oci db database modify-database-management --port --protocol --role --ssl-secret-id``
59+
60+
* Support for runtime configuration in notebook session in Data-science service
61+
62+
* ``oci data-science notebook-session create --runtime-config-details``
63+
* ``oci data-science notebook-session update --runtime-config-details``
64+
65+
* Support for following command in Media service
66+
67+
* ``oci media-services media-stream``
68+
69+
Fixed
70+
~~~~~~~
71+
* Fixed "wait-for-state" for oci db autonomous-database delete
72+
73+
* ``oci db autonomous-database delete --wait-for-state``
74+
975
3.11.1 - 2022-07-19
1076
--------------------
1177
Added
@@ -77,6 +143,12 @@ Added
77143

78144
* ``oci compute instance action --action rebootmigrate``
79145

146+
* Support Point-in-time Recovery for non-HA MySQL Database service
147+
148+
* oci mysql db-system create ... --backup-policy='{"pitr-policy": {"isEnabled": true | false}}'
149+
150+
* oci mysql db-system create ... --source='{"sourceType": "PITR", "dbSystemId": "$DBSYSTEM_ID", "recoveryPoint": "$RECOVERY_POINT"}'
151+
80152
Changed
81153
~~~~~~~
82154
* [BREAKING] The confusing flag naming for preserving data volumes created on instance launch --preserve-data-volumes is removed in the compute service

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

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

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -593,17 +593,18 @@ def add_block_storage(ctx, from_json, wait_for_state, max_wait_seconds, wait_int
593593
@cli_util.option('--bds-instance-id', required=True, help=u"""The OCID of the cluster.""")
594594
@cli_util.option('--shape', required=True, help=u"""Shape of the node.""")
595595
@cli_util.option('--cluster-admin-password', required=True, help=u"""Base-64 encoded password for the cluster (and Cloudera Manager) admin user.""")
596+
@cli_util.option('--shape-config', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
596597
@cli_util.option('--block-volume-size-in-gbs', type=click.INT, help=u"""The size of block volume in GB to be attached to the given node. All details needed for attaching the block volume are managed by the service itself.""")
597598
@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.""")
598599
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED"]), multiple=True, help="""This operation asynchronously creates, modifies or deletes a resource and uses a work request to track the progress of the operation. Specify this option to perform the action and then wait until the work request reaches a certain 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.""")
599600
@cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the work request to reach the state defined by --wait-for-state. Defaults to 1200 seconds.""")
600601
@cli_util.option('--wait-interval-seconds', type=click.INT, help="""Check every --wait-interval-seconds to see whether the work request to see if it has reached the state defined by --wait-for-state. Defaults to 30 seconds.""")
601-
@json_skeleton_utils.get_cli_json_input_option({})
602+
@json_skeleton_utils.get_cli_json_input_option({'shape-config': {'module': 'bds', 'class': 'ShapeConfigDetails'}})
602603
@cli_util.help_option
603604
@click.pass_context
604-
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={})
605+
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'shape-config': {'module': 'bds', 'class': 'ShapeConfigDetails'}})
605606
@cli_util.wrap_exceptions
606-
def add_cloud_sql(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_seconds, bds_instance_id, shape, cluster_admin_password, block_volume_size_in_gbs, if_match):
607+
def add_cloud_sql(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_seconds, bds_instance_id, shape, cluster_admin_password, shape_config, block_volume_size_in_gbs, if_match):
607608

608609
if isinstance(bds_instance_id, six.string_types) and len(bds_instance_id.strip()) == 0:
609610
raise click.UsageError('Parameter --bds-instance-id cannot be whitespace or empty string')
@@ -617,6 +618,9 @@ def add_cloud_sql(ctx, from_json, wait_for_state, max_wait_seconds, wait_interva
617618
_details['shape'] = shape
618619
_details['clusterAdminPassword'] = cluster_admin_password
619620

621+
if shape_config is not None:
622+
_details['shapeConfig'] = cli_util.parse_json_parameter("shape_config", shape_config)
623+
620624
if block_volume_size_in_gbs is not None:
621625
_details['blockVolumeSizeInGBs'] = block_volume_size_in_gbs
622626

@@ -917,6 +921,7 @@ def create_bds_api_key(ctx, from_json, wait_for_state, max_wait_seconds, wait_in
917921
@cli_util.option('--kerberos-realm-name', help=u"""The user-defined kerberos realm name.""")
918922
@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. For example, `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
919923
@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 example, `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
924+
@cli_util.option('--kms-key-id', help=u"""The OCID of the Key Management master encryption key.""")
920925
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED"]), multiple=True, help="""This operation asynchronously creates, modifies or deletes a resource and uses a work request to track the progress of the operation. Specify this option to perform the action and then wait until the work request reaches a certain 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.""")
921926
@cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the work request to reach the state defined by --wait-for-state. Defaults to 1200 seconds.""")
922927
@cli_util.option('--wait-interval-seconds', type=click.INT, help="""Check every --wait-interval-seconds to see whether the work request to see if it has reached the state defined by --wait-for-state. Defaults to 30 seconds.""")
@@ -925,7 +930,7 @@ def create_bds_api_key(ctx, from_json, wait_for_state, max_wait_seconds, wait_in
925930
@click.pass_context
926931
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'network-config': {'module': 'bds', 'class': 'NetworkConfig'}, 'nodes': {'module': 'bds', 'class': 'list[CreateNodeDetails]'}, 'freeform-tags': {'module': 'bds', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'bds', 'class': 'dict(str, dict(str, object))'}})
927932
@cli_util.wrap_exceptions
928-
def create_bds_instance(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_seconds, compartment_id, display_name, cluster_version, cluster_public_key, cluster_admin_password, is_high_availability, is_secure, nodes, network_config, bootstrap_script_url, kerberos_realm_name, freeform_tags, defined_tags):
933+
def create_bds_instance(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_seconds, compartment_id, display_name, cluster_version, cluster_public_key, cluster_admin_password, is_high_availability, is_secure, nodes, network_config, bootstrap_script_url, kerberos_realm_name, freeform_tags, defined_tags, kms_key_id):
929934

930935
kwargs = {}
931936
kwargs['opc_request_id'] = cli_util.use_or_generate_request_id(ctx.obj['request_id'])
@@ -955,6 +960,9 @@ def create_bds_instance(ctx, from_json, wait_for_state, max_wait_seconds, wait_i
955960
if defined_tags is not None:
956961
_details['definedTags'] = cli_util.parse_json_parameter("defined_tags", defined_tags)
957962

963+
if kms_key_id is not None:
964+
_details['kmsKeyId'] = kms_key_id
965+
958966
client = cli_util.build_client('bds', 'bds', ctx)
959967
result = client.create_bds_instance(
960968
create_bds_instance_details=_details,
@@ -2779,6 +2787,7 @@ def update_auto_scaling_configuration_update_schedule_based_vertical_scaling_pol
27792787
@cli_util.option('--bootstrap-script-url', help=u"""Pre-authenticated URL of the bootstrap script in Object Store that can be downloaded and executed..""")
27802788
@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. For example, `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
27812789
@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 example, `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
2790+
@cli_util.option('--kms-key-id', help=u"""The OCID of the Key Management master encryption key.""")
27822791
@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.""")
27832792
@cli_util.option('--force', help="""Perform update without prompting for confirmation.""", is_flag=True)
27842793
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED"]), multiple=True, help="""This operation asynchronously creates, modifies or deletes a resource and uses a work request to track the progress of the operation. Specify this option to perform the action and then wait until the work request reaches a certain 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.""")
@@ -2789,7 +2798,7 @@ def update_auto_scaling_configuration_update_schedule_based_vertical_scaling_pol
27892798
@click.pass_context
27902799
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'freeform-tags': {'module': 'bds', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'bds', 'class': 'dict(str, dict(str, object))'}})
27912800
@cli_util.wrap_exceptions
2792-
def update_bds_instance(ctx, from_json, force, wait_for_state, max_wait_seconds, wait_interval_seconds, bds_instance_id, display_name, bootstrap_script_url, freeform_tags, defined_tags, if_match):
2801+
def update_bds_instance(ctx, from_json, force, wait_for_state, max_wait_seconds, wait_interval_seconds, bds_instance_id, display_name, bootstrap_script_url, freeform_tags, defined_tags, kms_key_id, if_match):
27932802

27942803
if isinstance(bds_instance_id, six.string_types) and len(bds_instance_id.strip()) == 0:
27952804
raise click.UsageError('Parameter --bds-instance-id cannot be whitespace or empty string')
@@ -2817,6 +2826,9 @@ def update_bds_instance(ctx, from_json, force, wait_for_state, max_wait_seconds,
28172826
if defined_tags is not None:
28182827
_details['definedTags'] = cli_util.parse_json_parameter("defined_tags", defined_tags)
28192828

2829+
if kms_key_id is not None:
2830+
_details['kmsKeyId'] = kms_key_id
2831+
28202832
client = cli_util.build_client('bds', 'bds', ctx)
28212833
result = client.update_bds_instance(
28222834
bds_instance_id=bds_instance_id,

0 commit comments

Comments
 (0)