Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,15 @@ Change Log
All notable changes to this project will be documented in this file.

The format is based on `Keep a Changelog <http://keepachangelog.com/>`_.
====================
2.10.1 - 2020-01-21
====================

Added
-----
* Support for getting DRG redundancy status in the Networking service
* Support for cloning autonomous databases from backups in the Database service

====================
2.10.0 - 2020-01-14
====================
Expand Down
1 change: 1 addition & 0 deletions docs/api/core.rst
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,7 @@ Core Services
oci.core.models.DhcpSearchDomainOption
oci.core.models.Drg
oci.core.models.DrgAttachment
oci.core.models.DrgRedundancyStatus
oci.core.models.EgressSecurityRule
oci.core.models.EmulatedVolumeAttachment
oci.core.models.ExportImageDetails
Expand Down
11 changes: 11 additions & 0 deletions docs/api/core/models/oci.core.models.DrgRedundancyStatus.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
DrgRedundancyStatus
===================

.. currentmodule:: oci.core.models

.. autoclass:: DrgRedundancyStatus
:show-inheritance:
:special-members: __init__
:members:
:undoc-members:
:inherited-members:
2 changes: 2 additions & 0 deletions docs/api/database.rst
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,8 @@ Database
oci.database.models.CreateAutonomousDatabaseBase
oci.database.models.CreateAutonomousDatabaseCloneDetails
oci.database.models.CreateAutonomousDatabaseDetails
oci.database.models.CreateAutonomousDatabaseFromBackupDetails
oci.database.models.CreateAutonomousDatabaseFromBackupTimestampDetails
oci.database.models.CreateBackupDestinationDetails
oci.database.models.CreateBackupDetails
oci.database.models.CreateDataGuardAssociationDetails
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
CreateAutonomousDatabaseFromBackupDetails
=========================================

.. currentmodule:: oci.database.models

.. autoclass:: CreateAutonomousDatabaseFromBackupDetails
:show-inheritance:
:special-members: __init__
:members:
:undoc-members:
:inherited-members:
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
CreateAutonomousDatabaseFromBackupTimestampDetails
==================================================

.. currentmodule:: oci.database.models

.. autoclass:: CreateAutonomousDatabaseFromBackupTimestampDetails
:show-inheritance:
:special-members: __init__
:members:
:undoc-members:
:inherited-members:
3 changes: 3 additions & 0 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@
window.location.href = 'https://oracle-bare-metal-cloud-services-python-sdk.readthedocs.io/en/latest/deprecation-notice.html';
}
</script>
.. warning::
Potential data corruption with Python SDK on binary upload in versions 2.8.0 and below, for more information please see :ref:`Known Issues<known-issues>` section.

Oracle Cloud Infrastructure Python SDK - |OciSdkVersion|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Expand Down Expand Up @@ -38,6 +40,7 @@ To get started, head over to the :ref:`installation instructions <install>` or s

The most recent list of supported services is located on the `Python SDK <https://docs.cloud.oracle.com/iaas/Content/API/SDKDocs/pythonsdk.htm#ServicesSupported>`_ page on the Oracle Cloud Infrastructure Documentation site.


**Note**: The ``oraclebmc`` package is deprecated and will no longer be maintained starting March 2018. Please check the :ref:`Backward Compatibility <backward-compatibility>` section if you are using ``oraclebmc``.

.. toctree::
Expand Down
8 changes: 4 additions & 4 deletions docs/known-issues.rst
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,11 @@ If you need to retain the connection timeout while clearing the read timeout, yo
client.base_client.timeout = (90.0, None)


Potential data corruption with Python SDK on binary upload
==========================================================
Potential data corruption with Python SDK on binary upload (versions 2.8.0 and below)
====================================================================================

**Details:** When using the Python SDK to perform binary upload operations you may encounter an issue with data corruption if retries are enabled or if you are using UploadManager.upload_file.

**Workaround:** We are aware of the issue and working on a resolution. For more information about this issue and workarounds, see `Potential data corruption issue for PythonSDK retry on binary data upload <https://github.com/oracle/oci-python-sdk/issues/203/>`_.
**Impacted Versions:** v2.8.0 and below

**Direct link to this issue:** `Potential data corruption with Python SDK on binary upload <https://preview.oci.oraclecorp.com/iaas/Content/knownissues.htm?bundle=joPythonKnownIssue#pythonDataCorrupt>`_.
**Direct link to this issue:** `Potential data corruption with Python SDK on binary upload <https://github.com/oracle/oci-python-sdk/issues/203/>`_
11 changes: 2 additions & 9 deletions docs/upload-manager.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,5 @@ The Object Storage service supports multipart uploads to make large object uploa

The `UploadObject <https://github.com/oracle/oci-python-sdk/blob/master/examples/multipart_object_upload.py>`_ example shows how :py:class:`~oci.object_storage.UploadManager` can be used to upload files to object storage.


Potential data corruption with Python SDK on binary upload
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

**Details:** When using the Python SDK to perform binary upload operations you may encounter an issue with data corruption if retries are enabled or if you are using UploadManager.upload_file.

**Workaround:** We are aware of the issue and working on a resolution. For more information about this issue and workarounds, see `Potential data corruption issue for PythonSDK retry on binary data upload <https://github.com/oracle/oci-python-sdk/issues/203/>`_.

**Direct link to this issue:** `Potential data corruption with Python SDK on binary upload <https://preview.oci.oraclecorp.com/iaas/Content/knownissues.htm?bundle=joPythonKnownIssue#pythonDataCorrupt>`_.
.. warning::
Potential data corruption with Python SDK on binary upload in versions 2.8.0 and below, for more information please see :ref:`Known Issues<known-issues>` section.
2 changes: 2 additions & 0 deletions src/oci/core/models/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,7 @@
from .dhcp_search_domain_option import DhcpSearchDomainOption
from .drg import Drg
from .drg_attachment import DrgAttachment
from .drg_redundancy_status import DrgRedundancyStatus
from .egress_security_rule import EgressSecurityRule
from .emulated_volume_attachment import EmulatedVolumeAttachment
from .export_image_details import ExportImageDetails
Expand Down Expand Up @@ -425,6 +426,7 @@
"DhcpSearchDomainOption": DhcpSearchDomainOption,
"Drg": Drg,
"DrgAttachment": DrgAttachment,
"DrgRedundancyStatus": DrgRedundancyStatus,
"EgressSecurityRule": EgressSecurityRule,
"EmulatedVolumeAttachment": EmulatedVolumeAttachment,
"ExportImageDetails": ExportImageDetails,
Expand Down
140 changes: 140 additions & 0 deletions src/oci/core/models/drg_redundancy_status.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,140 @@
# coding: utf-8
# Copyright (c) 2016, 2020, Oracle and/or its affiliates. All rights reserved.


from oci.util import formatted_flat_dict, NONE_SENTINEL, value_allowed_none_or_none_sentinel # noqa: F401
from oci.decorators import init_model_state_from_kwargs


@init_model_state_from_kwargs
class DrgRedundancyStatus(object):
"""
Redundancy status of the DRG object identified by ID
"""

#: A constant which can be used with the status property of a DrgRedundancyStatus.
#: This constant has a value of "NOT_AVAILABLE"
STATUS_NOT_AVAILABLE = "NOT_AVAILABLE"

#: A constant which can be used with the status property of a DrgRedundancyStatus.
#: This constant has a value of "REDUNDANT"
STATUS_REDUNDANT = "REDUNDANT"

#: A constant which can be used with the status property of a DrgRedundancyStatus.
#: This constant has a value of "NOT_REDUNDANT_SINGLE_IPSEC"
STATUS_NOT_REDUNDANT_SINGLE_IPSEC = "NOT_REDUNDANT_SINGLE_IPSEC"

#: A constant which can be used with the status property of a DrgRedundancyStatus.
#: This constant has a value of "NOT_REDUNDANT_SINGLE_VIRTUALCIRCUIT"
STATUS_NOT_REDUNDANT_SINGLE_VIRTUALCIRCUIT = "NOT_REDUNDANT_SINGLE_VIRTUALCIRCUIT"

#: A constant which can be used with the status property of a DrgRedundancyStatus.
#: This constant has a value of "NOT_REDUNDANT_MULTIPLE_IPSECS"
STATUS_NOT_REDUNDANT_MULTIPLE_IPSECS = "NOT_REDUNDANT_MULTIPLE_IPSECS"

#: A constant which can be used with the status property of a DrgRedundancyStatus.
#: This constant has a value of "NOT_REDUNDANT_MULTIPLE_VIRTUALCIRCUITS"
STATUS_NOT_REDUNDANT_MULTIPLE_VIRTUALCIRCUITS = "NOT_REDUNDANT_MULTIPLE_VIRTUALCIRCUITS"

#: A constant which can be used with the status property of a DrgRedundancyStatus.
#: This constant has a value of "NOT_REDUNDANT_MIX_CONNECTIONS"
STATUS_NOT_REDUNDANT_MIX_CONNECTIONS = "NOT_REDUNDANT_MIX_CONNECTIONS"

#: A constant which can be used with the status property of a DrgRedundancyStatus.
#: This constant has a value of "NOT_REDUNDANT_NO_CONNECTION"
STATUS_NOT_REDUNDANT_NO_CONNECTION = "NOT_REDUNDANT_NO_CONNECTION"

def __init__(self, **kwargs):
"""
Initializes a new DrgRedundancyStatus object with values from keyword arguments.
The following keyword arguments are supported (corresponding to the getters/setters of this class):

:param id:
The value to assign to the id property of this DrgRedundancyStatus.
:type id: str

:param status:
The value to assign to the status property of this DrgRedundancyStatus.
Allowed values for this property are: "NOT_AVAILABLE", "REDUNDANT", "NOT_REDUNDANT_SINGLE_IPSEC", "NOT_REDUNDANT_SINGLE_VIRTUALCIRCUIT", "NOT_REDUNDANT_MULTIPLE_IPSECS", "NOT_REDUNDANT_MULTIPLE_VIRTUALCIRCUITS", "NOT_REDUNDANT_MIX_CONNECTIONS", "NOT_REDUNDANT_NO_CONNECTION", 'UNKNOWN_ENUM_VALUE'.
Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
:type status: str

"""
self.swagger_types = {
'id': 'str',
'status': 'str'
}

self.attribute_map = {
'id': 'id',
'status': 'status'
}

self._id = None
self._status = None

@property
def id(self):
"""
Gets the id of this DrgRedundancyStatus.
The DRG's unique identifier.


:return: The id of this DrgRedundancyStatus.
:rtype: str
"""
return self._id

@id.setter
def id(self, id):
"""
Sets the id of this DrgRedundancyStatus.
The DRG's unique identifier.


:param id: The id of this DrgRedundancyStatus.
:type: str
"""
self._id = id

@property
def status(self):
"""
Gets the status of this DrgRedundancyStatus.
The redudancy status of the DRG specified.

Allowed values for this property are: "NOT_AVAILABLE", "REDUNDANT", "NOT_REDUNDANT_SINGLE_IPSEC", "NOT_REDUNDANT_SINGLE_VIRTUALCIRCUIT", "NOT_REDUNDANT_MULTIPLE_IPSECS", "NOT_REDUNDANT_MULTIPLE_VIRTUALCIRCUITS", "NOT_REDUNDANT_MIX_CONNECTIONS", "NOT_REDUNDANT_NO_CONNECTION", 'UNKNOWN_ENUM_VALUE'.
Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.


:return: The status of this DrgRedundancyStatus.
:rtype: str
"""
return self._status

@status.setter
def status(self, status):
"""
Sets the status of this DrgRedundancyStatus.
The redudancy status of the DRG specified.


:param status: The status of this DrgRedundancyStatus.
:type: str
"""
allowed_values = ["NOT_AVAILABLE", "REDUNDANT", "NOT_REDUNDANT_SINGLE_IPSEC", "NOT_REDUNDANT_SINGLE_VIRTUALCIRCUIT", "NOT_REDUNDANT_MULTIPLE_IPSECS", "NOT_REDUNDANT_MULTIPLE_VIRTUALCIRCUITS", "NOT_REDUNDANT_MIX_CONNECTIONS", "NOT_REDUNDANT_NO_CONNECTION"]
if not value_allowed_none_or_none_sentinel(status, allowed_values):
status = 'UNKNOWN_ENUM_VALUE'
self._status = status

def __repr__(self):
return formatted_flat_dict(self)

def __eq__(self, other):
if other is None:
return False

return self.__dict__ == other.__dict__

def __ne__(self, other):
return not self == other
74 changes: 74 additions & 0 deletions src/oci/core/virtual_network_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -6232,6 +6232,80 @@ def get_drg_attachment(self, drg_attachment_id, **kwargs):
header_params=header_params,
response_type="DrgAttachment")

def get_drg_redundancy_status(self, drg_id, **kwargs):
"""
GetDrgRedundancyStatus
Get redundancy status of single DRG object on Oracle side.


:param str drg_id: (required)
The OCID of the DRG.

:param str opc_request_id: (optional)
Unique identifier for the request.
If you need to contact Oracle about a particular request, please provide the request ID.

:param obj retry_strategy: (optional)
A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

This should be one of the strategies available in the :py:mod:`~oci.retry` module. A convenience :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY`
is also available. The specifics of the default retry strategy are described `here <https://oracle-cloud-infrastructure-python-sdk.readthedocs.io/en/latest/sdk_behaviors/retries.html>`__.

To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

:return: A :class:`~oci.response.Response` object with data of type :class:`~oci.core.models.DrgRedundancyStatus`
:rtype: :class:`~oci.response.Response`
"""
resource_path = "/drgs/{drgId}/redundancyStatus"
method = "GET"

# Don't accept unknown kwargs
expected_kwargs = [
"retry_strategy",
"opc_request_id"
]
extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
if extra_kwargs:
raise ValueError(
"get_drg_redundancy_status got unknown kwargs: {!r}".format(extra_kwargs))

path_params = {
"drgId": drg_id
}

path_params = {k: v for (k, v) in six.iteritems(path_params) if v is not missing}

for (k, v) in six.iteritems(path_params):
if v is None or (isinstance(v, six.string_types) and len(v.strip()) == 0):
raise ValueError('Parameter {} cannot be None, whitespace or empty string'.format(k))

header_params = {
"accept": "application/json",
"content-type": "application/json",
"opc-request-id": kwargs.get("opc_request_id", missing)
}
header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}

retry_strategy = self.retry_strategy
if kwargs.get('retry_strategy'):
retry_strategy = kwargs.get('retry_strategy')

if retry_strategy:
return retry_strategy.make_retrying_call(
self.base_client.call_api,
resource_path=resource_path,
method=method,
path_params=path_params,
header_params=header_params,
response_type="DrgRedundancyStatus")
else:
return self.base_client.call_api(
resource_path=resource_path,
method=method,
path_params=path_params,
header_params=header_params,
response_type="DrgRedundancyStatus")

def get_fast_connect_provider_service(self, provider_service_id, **kwargs):
"""
GetFastConnectProviderService
Expand Down
4 changes: 4 additions & 0 deletions src/oci/database/models/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,8 @@
from .create_autonomous_database_base import CreateAutonomousDatabaseBase
from .create_autonomous_database_clone_details import CreateAutonomousDatabaseCloneDetails
from .create_autonomous_database_details import CreateAutonomousDatabaseDetails
from .create_autonomous_database_from_backup_details import CreateAutonomousDatabaseFromBackupDetails
from .create_autonomous_database_from_backup_timestamp_details import CreateAutonomousDatabaseFromBackupTimestampDetails
from .create_backup_destination_details import CreateBackupDestinationDetails
from .create_backup_details import CreateBackupDetails
from .create_data_guard_association_details import CreateDataGuardAssociationDetails
Expand Down Expand Up @@ -176,6 +178,8 @@
"CreateAutonomousDatabaseBase": CreateAutonomousDatabaseBase,
"CreateAutonomousDatabaseCloneDetails": CreateAutonomousDatabaseCloneDetails,
"CreateAutonomousDatabaseDetails": CreateAutonomousDatabaseDetails,
"CreateAutonomousDatabaseFromBackupDetails": CreateAutonomousDatabaseFromBackupDetails,
"CreateAutonomousDatabaseFromBackupTimestampDetails": CreateAutonomousDatabaseFromBackupTimestampDetails,
"CreateBackupDestinationDetails": CreateBackupDestinationDetails,
"CreateBackupDetails": CreateBackupDetails,
"CreateDataGuardAssociationDetails": CreateDataGuardAssociationDetails,
Expand Down
Loading