From c309aff511324b018b5ebfa26a13fcf17b9538c9 Mon Sep 17 00:00:00 2001 From: Art Hall Date: Thu, 15 Nov 2018 19:06:42 +0000 Subject: [PATCH] Releasing version 2.1.1 --- CHANGELOG.rst | 12 +++ Thirdpartyreadme.txt | 22 +++++ .../models/create_drg_attachment_details.py | 39 ++++++++ .../create_local_peering_gateway_details.py | 39 ++++++++ src/oci/core/models/drg_attachment.py | 31 +++++++ src/oci/core/models/local_peering_gateway.py | 90 ++++++++++++++++--- .../models/update_drg_attachment_details.py | 35 +++++++- .../update_local_peering_gateway_details.py | 35 +++++++- .../internal/multipart_object_assembler.py | 2 +- src/oci/version.py | 2 +- 10 files changed, 291 insertions(+), 16 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index d0dabe910c..c2d82e3572 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -4,6 +4,18 @@ All notable changes to this project will be documented in this file. The format is based on `Keep a Changelog `_. +==================== +2.1.1 - 2018-11-15 +==================== + +Added +----- +* Support for VCN transit routing in the Networking service + +Fixed +----- +* Fixed UploadManager to work with unbuffered streams in Python 3 + ==================== 2.1.0 - 2018-11-01 ==================== diff --git a/Thirdpartyreadme.txt b/Thirdpartyreadme.txt index f3b5a02026..f50b27ff4d 100644 --- a/Thirdpartyreadme.txt +++ b/Thirdpartyreadme.txt @@ -624,6 +624,28 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. +Six +=== +Copyright (c) 2010-2017 Benjamin Peterson + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + Urllib3 ======= This is the MIT license: http://www.opensource.org/licenses/mit-license.php diff --git a/src/oci/core/models/create_drg_attachment_details.py b/src/oci/core/models/create_drg_attachment_details.py index 50567915e8..7407f3f1e4 100644 --- a/src/oci/core/models/create_drg_attachment_details.py +++ b/src/oci/core/models/create_drg_attachment_details.py @@ -25,6 +25,10 @@ def __init__(self, **kwargs): The value to assign to the drg_id property of this CreateDrgAttachmentDetails. :type drg_id: str + :param route_table_id: + The value to assign to the route_table_id property of this CreateDrgAttachmentDetails. + :type route_table_id: str + :param vcn_id: The value to assign to the vcn_id property of this CreateDrgAttachmentDetails. :type vcn_id: str @@ -33,17 +37,20 @@ def __init__(self, **kwargs): self.swagger_types = { 'display_name': 'str', 'drg_id': 'str', + 'route_table_id': 'str', 'vcn_id': 'str' } self.attribute_map = { 'display_name': 'displayName', 'drg_id': 'drgId', + 'route_table_id': 'routeTableId', 'vcn_id': 'vcnId' } self._display_name = None self._drg_id = None + self._route_table_id = None self._vcn_id = None @property @@ -94,6 +101,38 @@ def drg_id(self, drg_id): """ self._drg_id = drg_id + @property + def route_table_id(self): + """ + Gets the route_table_id of this CreateDrgAttachmentDetails. + The OCID of the route table the DRG attachment will use. + + If you don't specify a route table here, the DRG attachment is created without an associated route + table. The Networking service does NOT automatically associate the attached VCN's default route table + with the DRG attachment. + + + :return: The route_table_id of this CreateDrgAttachmentDetails. + :rtype: str + """ + return self._route_table_id + + @route_table_id.setter + def route_table_id(self, route_table_id): + """ + Sets the route_table_id of this CreateDrgAttachmentDetails. + The OCID of the route table the DRG attachment will use. + + If you don't specify a route table here, the DRG attachment is created without an associated route + table. The Networking service does NOT automatically associate the attached VCN's default route table + with the DRG attachment. + + + :param route_table_id: The route_table_id of this CreateDrgAttachmentDetails. + :type: str + """ + self._route_table_id = route_table_id + @property def vcn_id(self): """ diff --git a/src/oci/core/models/create_local_peering_gateway_details.py b/src/oci/core/models/create_local_peering_gateway_details.py index b85fc2af90..e0b90354c7 100644 --- a/src/oci/core/models/create_local_peering_gateway_details.py +++ b/src/oci/core/models/create_local_peering_gateway_details.py @@ -33,6 +33,10 @@ def __init__(self, **kwargs): The value to assign to the freeform_tags property of this CreateLocalPeeringGatewayDetails. :type freeform_tags: dict(str, str) + :param route_table_id: + The value to assign to the route_table_id property of this CreateLocalPeeringGatewayDetails. + :type route_table_id: str + :param vcn_id: The value to assign to the vcn_id property of this CreateLocalPeeringGatewayDetails. :type vcn_id: str @@ -43,6 +47,7 @@ def __init__(self, **kwargs): 'defined_tags': 'dict(str, dict(str, object))', 'display_name': 'str', 'freeform_tags': 'dict(str, str)', + 'route_table_id': 'str', 'vcn_id': 'str' } @@ -51,6 +56,7 @@ def __init__(self, **kwargs): 'defined_tags': 'definedTags', 'display_name': 'displayName', 'freeform_tags': 'freeformTags', + 'route_table_id': 'routeTableId', 'vcn_id': 'vcnId' } @@ -58,6 +64,7 @@ def __init__(self, **kwargs): self._defined_tags = None self._display_name = None self._freeform_tags = None + self._route_table_id = None self._vcn_id = None @property @@ -180,6 +187,38 @@ def freeform_tags(self, freeform_tags): """ self._freeform_tags = freeform_tags + @property + def route_table_id(self): + """ + Gets the route_table_id of this CreateLocalPeeringGatewayDetails. + The OCID of the route table the LPG will use. + + If you don't specify a route table here, the LPG is created without an associated route + table. The Networking service does NOT automatically associate the attached VCN's default route table + with the LPG. + + + :return: The route_table_id of this CreateLocalPeeringGatewayDetails. + :rtype: str + """ + return self._route_table_id + + @route_table_id.setter + def route_table_id(self, route_table_id): + """ + Sets the route_table_id of this CreateLocalPeeringGatewayDetails. + The OCID of the route table the LPG will use. + + If you don't specify a route table here, the LPG is created without an associated route + table. The Networking service does NOT automatically associate the attached VCN's default route table + with the LPG. + + + :param route_table_id: The route_table_id of this CreateLocalPeeringGatewayDetails. + :type: str + """ + self._route_table_id = route_table_id + @property def vcn_id(self): """ diff --git a/src/oci/core/models/drg_attachment.py b/src/oci/core/models/drg_attachment.py index c9c7263c49..d4d37b04fe 100644 --- a/src/oci/core/models/drg_attachment.py +++ b/src/oci/core/models/drg_attachment.py @@ -61,6 +61,10 @@ def __init__(self, **kwargs): Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'. :type lifecycle_state: str + :param route_table_id: + The value to assign to the route_table_id property of this DrgAttachment. + :type route_table_id: str + :param time_created: The value to assign to the time_created property of this DrgAttachment. :type time_created: datetime @@ -76,6 +80,7 @@ def __init__(self, **kwargs): 'drg_id': 'str', 'id': 'str', 'lifecycle_state': 'str', + 'route_table_id': 'str', 'time_created': 'datetime', 'vcn_id': 'str' } @@ -86,6 +91,7 @@ def __init__(self, **kwargs): 'drg_id': 'drgId', 'id': 'id', 'lifecycle_state': 'lifecycleState', + 'route_table_id': 'routeTableId', 'time_created': 'timeCreated', 'vcn_id': 'vcnId' } @@ -95,6 +101,7 @@ def __init__(self, **kwargs): self._drg_id = None self._id = None self._lifecycle_state = None + self._route_table_id = None self._time_created = None self._vcn_id = None @@ -226,6 +233,30 @@ def lifecycle_state(self, lifecycle_state): lifecycle_state = 'UNKNOWN_ENUM_VALUE' self._lifecycle_state = lifecycle_state + @property + def route_table_id(self): + """ + Gets the route_table_id of this DrgAttachment. + The OCID of the route table the DRG attachment is using. + + + :return: The route_table_id of this DrgAttachment. + :rtype: str + """ + return self._route_table_id + + @route_table_id.setter + def route_table_id(self, route_table_id): + """ + Sets the route_table_id of this DrgAttachment. + The OCID of the route table the DRG attachment is using. + + + :param route_table_id: The route_table_id of this DrgAttachment. + :type: str + """ + self._route_table_id = route_table_id + @property def time_created(self): """ diff --git a/src/oci/core/models/local_peering_gateway.py b/src/oci/core/models/local_peering_gateway.py index e0ed1a0e5d..74140ab28d 100644 --- a/src/oci/core/models/local_peering_gateway.py +++ b/src/oci/core/models/local_peering_gateway.py @@ -101,6 +101,10 @@ def __init__(self, **kwargs): The value to assign to the peer_advertised_cidr property of this LocalPeeringGateway. :type peer_advertised_cidr: str + :param peer_advertised_cidr_details: + The value to assign to the peer_advertised_cidr_details property of this LocalPeeringGateway. + :type peer_advertised_cidr_details: list[str] + :param peering_status: The value to assign to the peering_status property of this LocalPeeringGateway. Allowed values for this property are: "INVALID", "NEW", "PEERED", "PENDING", "REVOKED", 'UNKNOWN_ENUM_VALUE'. @@ -111,6 +115,10 @@ def __init__(self, **kwargs): The value to assign to the peering_status_details property of this LocalPeeringGateway. :type peering_status_details: str + :param route_table_id: + The value to assign to the route_table_id property of this LocalPeeringGateway. + :type route_table_id: str + :param time_created: The value to assign to the time_created property of this LocalPeeringGateway. :type time_created: datetime @@ -129,8 +137,10 @@ def __init__(self, **kwargs): 'is_cross_tenancy_peering': 'bool', 'lifecycle_state': 'str', 'peer_advertised_cidr': 'str', + 'peer_advertised_cidr_details': 'list[str]', 'peering_status': 'str', 'peering_status_details': 'str', + 'route_table_id': 'str', 'time_created': 'datetime', 'vcn_id': 'str' } @@ -144,8 +154,10 @@ def __init__(self, **kwargs): 'is_cross_tenancy_peering': 'isCrossTenancyPeering', 'lifecycle_state': 'lifecycleState', 'peer_advertised_cidr': 'peerAdvertisedCidr', + 'peer_advertised_cidr_details': 'peerAdvertisedCidrDetails', 'peering_status': 'peeringStatus', 'peering_status_details': 'peeringStatusDetails', + 'route_table_id': 'routeTableId', 'time_created': 'timeCreated', 'vcn_id': 'vcnId' } @@ -158,8 +170,10 @@ def __init__(self, **kwargs): self._is_cross_tenancy_peering = None self._lifecycle_state = None self._peer_advertised_cidr = None + self._peer_advertised_cidr_details = None self._peering_status = None self._peering_status_details = None + self._route_table_id = None self._time_created = None self._vcn_id = None @@ -369,12 +383,11 @@ def lifecycle_state(self, lifecycle_state): def peer_advertised_cidr(self): """ Gets the peer_advertised_cidr of this LocalPeeringGateway. - The range of IP addresses available on the VCN at the other - end of the peering from this LPG. The value is `null` if the LPG is not peered. - You can use this as the destination CIDR for a route rule to route a subnet's - traffic to this LPG. + The smallest aggregate CIDR that contains all the CIDR routes advertised by the VCN + at the other end of the peering from this LPG. See `peerAdvertisedCidrDetails` for + the individual CIDRs. The value is `null` if the LPG is not peered. - Example: `192.168.0.0/16` + Example: `192.168.0.0/16`, or if aggregated with `172.16.0.0/24` then `128.0.0.0/1` :return: The peer_advertised_cidr of this LocalPeeringGateway. @@ -386,12 +399,11 @@ def peer_advertised_cidr(self): def peer_advertised_cidr(self, peer_advertised_cidr): """ Sets the peer_advertised_cidr of this LocalPeeringGateway. - The range of IP addresses available on the VCN at the other - end of the peering from this LPG. The value is `null` if the LPG is not peered. - You can use this as the destination CIDR for a route rule to route a subnet's - traffic to this LPG. + The smallest aggregate CIDR that contains all the CIDR routes advertised by the VCN + at the other end of the peering from this LPG. See `peerAdvertisedCidrDetails` for + the individual CIDRs. The value is `null` if the LPG is not peered. - Example: `192.168.0.0/16` + Example: `192.168.0.0/16`, or if aggregated with `172.16.0.0/24` then `128.0.0.0/1` :param peer_advertised_cidr: The peer_advertised_cidr of this LocalPeeringGateway. @@ -399,6 +411,40 @@ def peer_advertised_cidr(self, peer_advertised_cidr): """ self._peer_advertised_cidr = peer_advertised_cidr + @property + def peer_advertised_cidr_details(self): + """ + Gets the peer_advertised_cidr_details of this LocalPeeringGateway. + The specific ranges of IP addresses available on or via the VCN at the other + end of the peering from this LPG. The value is `null` if the LPG is not peered. + You can use these as destination CIDRs for route rules to route a subnet's + traffic to this LPG. + + Example: [`192.168.0.0/16`, `172.16.0.0/24`] + + + :return: The peer_advertised_cidr_details of this LocalPeeringGateway. + :rtype: list[str] + """ + return self._peer_advertised_cidr_details + + @peer_advertised_cidr_details.setter + def peer_advertised_cidr_details(self, peer_advertised_cidr_details): + """ + Sets the peer_advertised_cidr_details of this LocalPeeringGateway. + The specific ranges of IP addresses available on or via the VCN at the other + end of the peering from this LPG. The value is `null` if the LPG is not peered. + You can use these as destination CIDRs for route rules to route a subnet's + traffic to this LPG. + + Example: [`192.168.0.0/16`, `172.16.0.0/24`] + + + :param peer_advertised_cidr_details: The peer_advertised_cidr_details of this LocalPeeringGateway. + :type: list[str] + """ + self._peer_advertised_cidr_details = peer_advertised_cidr_details + @property def peering_status(self): """ @@ -457,6 +503,30 @@ def peering_status_details(self, peering_status_details): """ self._peering_status_details = peering_status_details + @property + def route_table_id(self): + """ + Gets the route_table_id of this LocalPeeringGateway. + The OCID of the route table the LPG is using. + + + :return: The route_table_id of this LocalPeeringGateway. + :rtype: str + """ + return self._route_table_id + + @route_table_id.setter + def route_table_id(self, route_table_id): + """ + Sets the route_table_id of this LocalPeeringGateway. + The OCID of the route table the LPG is using. + + + :param route_table_id: The route_table_id of this LocalPeeringGateway. + :type: str + """ + self._route_table_id = route_table_id + @property def time_created(self): """ diff --git a/src/oci/core/models/update_drg_attachment_details.py b/src/oci/core/models/update_drg_attachment_details.py index b1abdf719d..b58d9e3276 100644 --- a/src/oci/core/models/update_drg_attachment_details.py +++ b/src/oci/core/models/update_drg_attachment_details.py @@ -21,16 +21,23 @@ def __init__(self, **kwargs): The value to assign to the display_name property of this UpdateDrgAttachmentDetails. :type display_name: str + :param route_table_id: + The value to assign to the route_table_id property of this UpdateDrgAttachmentDetails. + :type route_table_id: str + """ self.swagger_types = { - 'display_name': 'str' + 'display_name': 'str', + 'route_table_id': 'str' } self.attribute_map = { - 'display_name': 'displayName' + 'display_name': 'displayName', + 'route_table_id': 'routeTableId' } self._display_name = None + self._route_table_id = None @property def display_name(self): @@ -58,6 +65,30 @@ def display_name(self, display_name): """ self._display_name = display_name + @property + def route_table_id(self): + """ + Gets the route_table_id of this UpdateDrgAttachmentDetails. + The OCID of the route table the DRG attachment will use. + + + :return: The route_table_id of this UpdateDrgAttachmentDetails. + :rtype: str + """ + return self._route_table_id + + @route_table_id.setter + def route_table_id(self, route_table_id): + """ + Sets the route_table_id of this UpdateDrgAttachmentDetails. + The OCID of the route table the DRG attachment will use. + + + :param route_table_id: The route_table_id of this UpdateDrgAttachmentDetails. + :type: str + """ + self._route_table_id = route_table_id + def __repr__(self): return formatted_flat_dict(self) diff --git a/src/oci/core/models/update_local_peering_gateway_details.py b/src/oci/core/models/update_local_peering_gateway_details.py index dd96ac41cc..117fee6472 100644 --- a/src/oci/core/models/update_local_peering_gateway_details.py +++ b/src/oci/core/models/update_local_peering_gateway_details.py @@ -29,22 +29,29 @@ def __init__(self, **kwargs): The value to assign to the freeform_tags property of this UpdateLocalPeeringGatewayDetails. :type freeform_tags: dict(str, str) + :param route_table_id: + The value to assign to the route_table_id property of this UpdateLocalPeeringGatewayDetails. + :type route_table_id: str + """ self.swagger_types = { 'defined_tags': 'dict(str, dict(str, object))', 'display_name': 'str', - 'freeform_tags': 'dict(str, str)' + 'freeform_tags': 'dict(str, str)', + 'route_table_id': 'str' } self.attribute_map = { 'defined_tags': 'definedTags', 'display_name': 'displayName', - 'freeform_tags': 'freeformTags' + 'freeform_tags': 'freeformTags', + 'route_table_id': 'routeTableId' } self._defined_tags = None self._display_name = None self._freeform_tags = None + self._route_table_id = None @property def defined_tags(self): @@ -142,6 +149,30 @@ def freeform_tags(self, freeform_tags): """ self._freeform_tags = freeform_tags + @property + def route_table_id(self): + """ + Gets the route_table_id of this UpdateLocalPeeringGatewayDetails. + The OCID of the route table the LPG will use. + + + :return: The route_table_id of this UpdateLocalPeeringGatewayDetails. + :rtype: str + """ + return self._route_table_id + + @route_table_id.setter + def route_table_id(self, route_table_id): + """ + Sets the route_table_id of this UpdateLocalPeeringGatewayDetails. + The OCID of the route table the LPG will use. + + + :param route_table_id: The route_table_id of this UpdateLocalPeeringGatewayDetails. + :type: str + """ + self._route_table_id = route_table_id + def __repr__(self): return formatted_flat_dict(self) diff --git a/src/oci/object_storage/transfer/internal/multipart_object_assembler.py b/src/oci/object_storage/transfer/internal/multipart_object_assembler.py index 4a8f921118..191dd0423f 100644 --- a/src/oci/object_storage/transfer/internal/multipart_object_assembler.py +++ b/src/oci/object_storage/transfer/internal/multipart_object_assembler.py @@ -468,7 +468,7 @@ def upload_stream(self, stream_ref, **kwargs): # We pull data from the stream until there is no more keep_reading = True while keep_reading: - if six.PY3: + if six.PY3 and hasattr(stream_ref, 'buffer'): read_bytes = stream_ref.buffer.read(self.part_size) else: read_bytes = stream_ref.read(self.part_size) diff --git a/src/oci/version.py b/src/oci/version.py index 932cf18737..b4490ff3c4 100644 --- a/src/oci/version.py +++ b/src/oci/version.py @@ -1,4 +1,4 @@ # coding: utf-8 # Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved. -__version__ = "2.1.0" +__version__ = "2.1.1"