Skip to content

Commit 0267d39

Browse files
authored
Releasing version 1.3.2 (#16)
1 parent 69629cd commit 0267d39

Some content is hidden

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

50 files changed

+7246
-114
lines changed

CHANGELOG.rst

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,26 @@ All notable changes to this project will be documented in this file.
44

55
The format is based on `Keep a Changelog <http://keepachangelog.com/>`_.
66

7+
====================
8+
1.3.2 - 2017-05-18
9+
====================
10+
11+
-------
12+
Added
13+
-------
14+
15+
* Support for VCN private subnets using the prohibit_public_ip_on_vnic parameter on oraclebmc.core.VirtualNetworkClient.create_subnet.
16+
* Support for FastConnect
17+
* Support for list_regions and region subscription operations
18+
* First class support for new IAD region
19+
20+
-------
21+
Fixed
22+
-------
23+
24+
* For manually created configs (not from a file), use default values for optional fields that are not present (`GitHub issue <https://github.com/oracle/bmcs-python-sdk/issues/13>`_)
25+
* Updated parsing of 'region' config value to enable better support for unrecognized regions
26+
727
====================
828
1.3.1 - 2017-04-27
929
====================

docs/forward-compatibility.rst

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
.. _forward-compatibility:
2+
3+
Forward Compatibility
4+
~~~~~~~~~~~~~~~~~~~~~~
5+
Some response fields are enum-typed. In the future, individual services may return values not covered by existing enums for that field. To address this possibility, every enum-type response field has an additional value named "UNKNOWN_ENUM_VALUE". If a service returns a value that is not recognized by your version of the SDK, then the response field will be set to this value. Please ensure that your code handles the "UNKNOWN_ENUM_VALUE" case if you have conditional logic based on an enum-typed field.

docs/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ To get started, head over to the :ref:`installation instructions <install>` or s
3333

3434
installation
3535
configuration
36+
forward-compatibility
3637
quickstart
3738
parallel-ops
3839
raw-requests

oraclebmc/base_client.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
from dateutil.parser import parse
1616

1717
from . import constants, exceptions, regions
18-
from .config import validate_config
18+
from .config import get_config_value_or_default, validate_config
1919
from .request import Request
2020
from .response import Response
2121
from .version import __version__
@@ -66,11 +66,11 @@ def __init__(self, service, config, signer, type_mapping):
6666

6767
self.type_mappings = merge_type_mappings(self.primitive_type_map, type_mapping)
6868
self.session = requests.Session()
69-
self.user_agent = build_user_agent(config["additional_user_agent"])
69+
self.user_agent = build_user_agent(get_config_value_or_default(config, "additional_user_agent"))
7070

7171
self.logger = logging.getLogger("{}.{}".format(__name__, id(self)))
7272
self.logger.addHandler(logging.NullHandler())
73-
if config["log_requests"]:
73+
if get_config_value_or_default(config, "log_requests"):
7474
self.logger.setLevel(logging.DEBUG)
7575
six.moves.http_client.HTTPConnection.debuglevel = 1
7676
else:

oraclebmc/config.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,10 @@ def validate_config(config):
9494
raise InvalidConfig(errors)
9595

9696

97+
def get_config_value_or_default(config, key):
98+
return config.get(key, DEFAULT_CONFIG.get(key))
99+
100+
97101
def _as_bool(x):
98102
if x in [True, False]:
99103
return x

oraclebmc/core/blockstorage_client.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import six
77

88
from ..base_client import BaseClient
9-
from ..config import validate_config
9+
from ..config import get_config_value_or_default, validate_config
1010
from ..signer import Signer
1111
from ..util import Sentinel
1212
from .models import core_type_mapping
@@ -22,7 +22,7 @@ def __init__(self, config):
2222
user=config["user"],
2323
fingerprint=config["fingerprint"],
2424
private_key_file_location=config["key_file"],
25-
pass_phrase=config["pass_phrase"]
25+
pass_phrase=get_config_value_or_default(config, "pass_phrase")
2626
)
2727
self.base_client = BaseClient("blockstorage", config, signer, core_type_mapping)
2828

oraclebmc/core/compute_client.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import six
77

88
from ..base_client import BaseClient
9-
from ..config import validate_config
9+
from ..config import get_config_value_or_default, validate_config
1010
from ..signer import Signer
1111
from ..util import Sentinel
1212
from .models import core_type_mapping
@@ -22,7 +22,7 @@ def __init__(self, config):
2222
user=config["user"],
2323
fingerprint=config["fingerprint"],
2424
private_key_file_location=config["key_file"],
25-
pass_phrase=config["pass_phrase"]
25+
pass_phrase=get_config_value_or_default(config, "pass_phrase")
2626
)
2727
self.base_client = BaseClient("compute", config, signer, core_type_mapping)
2828

@@ -673,8 +673,9 @@ def launch_instance(self, launch_instance_details, **kwargs):
673673
on that resource type, or by viewing the resource in the Console.
674674
675675
When you launch an instance, it is automatically attached to a Virtual
676-
Network Interface Card (VNIC) and given both a public and private IP address.
677-
To get both addresses, use the :func:`list_vnic_attachments`
676+
Network Interface Card (VNIC). The VNIC has a private IP address from
677+
the subnet's CIDR, and optionally a public IP address.
678+
To get the addresses, use the :func:`list_vnic_attachments`
678679
operation to get the VNIC ID for the instance, and then call
679680
:func:`get_vnic` with the VNIC ID.
680681

oraclebmc/core/models/__init__.py

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
from .console_history import ConsoleHistory
1010
from .cpe import Cpe
1111
from .create_cpe_details import CreateCpeDetails
12+
from .create_cross_connect_details import CreateCrossConnectDetails
13+
from .create_cross_connect_group_details import CreateCrossConnectGroupDetails
1214
from .create_dhcp_details import CreateDhcpDetails
1315
from .create_drg_attachment_details import CreateDrgAttachmentDetails
1416
from .create_drg_details import CreateDrgDetails
@@ -19,15 +21,24 @@
1921
from .create_security_list_details import CreateSecurityListDetails
2022
from .create_subnet_details import CreateSubnetDetails
2123
from .create_vcn_details import CreateVcnDetails
24+
from .create_virtual_circuit_details import CreateVirtualCircuitDetails
25+
from .create_vnic_details import CreateVnicDetails
2226
from .create_volume_backup_details import CreateVolumeBackupDetails
2327
from .create_volume_details import CreateVolumeDetails
28+
from .cross_connect import CrossConnect
29+
from .cross_connect_group import CrossConnectGroup
30+
from .cross_connect_location import CrossConnectLocation
31+
from .cross_connect_mapping import CrossConnectMapping
32+
from .cross_connect_port_speed_shape import CrossConnectPortSpeedShape
33+
from .cross_connect_status import CrossConnectStatus
2434
from .dhcp_dns_option import DhcpDnsOption
2535
from .dhcp_option import DhcpOption
2636
from .dhcp_options import DhcpOptions
2737
from .dhcp_search_domain_option import DhcpSearchDomainOption
2838
from .drg import Drg
2939
from .drg_attachment import DrgAttachment
3040
from .egress_security_rule import EgressSecurityRule
41+
from .fast_connect_provider_service import FastConnectProviderService
3142
from .ip_sec_connection import IPSecConnection
3243
from .ip_sec_connection_device_config import IPSecConnectionDeviceConfig
3344
from .ip_sec_connection_device_status import IPSecConnectionDeviceStatus
@@ -39,6 +50,7 @@
3950
from .instance_credentials import InstanceCredentials
4051
from .internet_gateway import InternetGateway
4152
from .launch_instance_details import LaunchInstanceDetails
53+
from .letter_of_authority import LetterOfAuthority
4254
from .port_range import PortRange
4355
from .route_rule import RouteRule
4456
from .route_table import RouteTable
@@ -50,6 +62,8 @@
5062
from .tunnel_status import TunnelStatus
5163
from .udp_options import UdpOptions
5264
from .update_cpe_details import UpdateCpeDetails
65+
from .update_cross_connect_details import UpdateCrossConnectDetails
66+
from .update_cross_connect_group_details import UpdateCrossConnectGroupDetails
5367
from .update_dhcp_details import UpdateDhcpDetails
5468
from .update_drg_attachment_details import UpdateDrgAttachmentDetails
5569
from .update_drg_details import UpdateDrgDetails
@@ -61,9 +75,12 @@
6175
from .update_security_list_details import UpdateSecurityListDetails
6276
from .update_subnet_details import UpdateSubnetDetails
6377
from .update_vcn_details import UpdateVcnDetails
78+
from .update_virtual_circuit_details import UpdateVirtualCircuitDetails
6479
from .update_volume_backup_details import UpdateVolumeBackupDetails
6580
from .update_volume_details import UpdateVolumeDetails
6681
from .vcn import Vcn
82+
from .virtual_circuit import VirtualCircuit
83+
from .virtual_circuit_bandwidth_shape import VirtualCircuitBandwidthShape
6784
from .vnic import Vnic
6885
from .vnic_attachment import VnicAttachment
6986
from .volume import Volume
@@ -78,6 +95,8 @@
7895
"ConsoleHistory": ConsoleHistory,
7996
"Cpe": Cpe,
8097
"CreateCpeDetails": CreateCpeDetails,
98+
"CreateCrossConnectDetails": CreateCrossConnectDetails,
99+
"CreateCrossConnectGroupDetails": CreateCrossConnectGroupDetails,
81100
"CreateDhcpDetails": CreateDhcpDetails,
82101
"CreateDrgAttachmentDetails": CreateDrgAttachmentDetails,
83102
"CreateDrgDetails": CreateDrgDetails,
@@ -88,15 +107,24 @@
88107
"CreateSecurityListDetails": CreateSecurityListDetails,
89108
"CreateSubnetDetails": CreateSubnetDetails,
90109
"CreateVcnDetails": CreateVcnDetails,
110+
"CreateVirtualCircuitDetails": CreateVirtualCircuitDetails,
111+
"CreateVnicDetails": CreateVnicDetails,
91112
"CreateVolumeBackupDetails": CreateVolumeBackupDetails,
92113
"CreateVolumeDetails": CreateVolumeDetails,
114+
"CrossConnect": CrossConnect,
115+
"CrossConnectGroup": CrossConnectGroup,
116+
"CrossConnectLocation": CrossConnectLocation,
117+
"CrossConnectMapping": CrossConnectMapping,
118+
"CrossConnectPortSpeedShape": CrossConnectPortSpeedShape,
119+
"CrossConnectStatus": CrossConnectStatus,
93120
"DhcpDnsOption": DhcpDnsOption,
94121
"DhcpOption": DhcpOption,
95122
"DhcpOptions": DhcpOptions,
96123
"DhcpSearchDomainOption": DhcpSearchDomainOption,
97124
"Drg": Drg,
98125
"DrgAttachment": DrgAttachment,
99126
"EgressSecurityRule": EgressSecurityRule,
127+
"FastConnectProviderService": FastConnectProviderService,
100128
"IPSecConnection": IPSecConnection,
101129
"IPSecConnectionDeviceConfig": IPSecConnectionDeviceConfig,
102130
"IPSecConnectionDeviceStatus": IPSecConnectionDeviceStatus,
@@ -108,6 +136,7 @@
108136
"InstanceCredentials": InstanceCredentials,
109137
"InternetGateway": InternetGateway,
110138
"LaunchInstanceDetails": LaunchInstanceDetails,
139+
"LetterOfAuthority": LetterOfAuthority,
111140
"PortRange": PortRange,
112141
"RouteRule": RouteRule,
113142
"RouteTable": RouteTable,
@@ -119,6 +148,8 @@
119148
"TunnelStatus": TunnelStatus,
120149
"UdpOptions": UdpOptions,
121150
"UpdateCpeDetails": UpdateCpeDetails,
151+
"UpdateCrossConnectDetails": UpdateCrossConnectDetails,
152+
"UpdateCrossConnectGroupDetails": UpdateCrossConnectGroupDetails,
122153
"UpdateDhcpDetails": UpdateDhcpDetails,
123154
"UpdateDrgAttachmentDetails": UpdateDrgAttachmentDetails,
124155
"UpdateDrgDetails": UpdateDrgDetails,
@@ -130,9 +161,12 @@
130161
"UpdateSecurityListDetails": UpdateSecurityListDetails,
131162
"UpdateSubnetDetails": UpdateSubnetDetails,
132163
"UpdateVcnDetails": UpdateVcnDetails,
164+
"UpdateVirtualCircuitDetails": UpdateVirtualCircuitDetails,
133165
"UpdateVolumeBackupDetails": UpdateVolumeBackupDetails,
134166
"UpdateVolumeDetails": UpdateVolumeDetails,
135167
"Vcn": Vcn,
168+
"VirtualCircuit": VirtualCircuit,
169+
"VirtualCircuitBandwidthShape": VirtualCircuitBandwidthShape,
136170
"Vnic": Vnic,
137171
"VnicAttachment": VnicAttachment,
138172
"Volume": Volume,

0 commit comments

Comments
 (0)