diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index f6a21e8359..6c5cfaf5e3 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.6.4 - 2019-11-12
+====================
+
+Added
+-----
+* Support for access to APEX and SQL Dev features on autonomous transaction processing and autonomous data warehouse resources in the Database service
+* Support for registering / deregistering autonomous transaction processing and autonomous data warehouse resources with Data Safe in the Database service
+* Support for redirecting HTTP / HTTPS request URIs to different URIs in the Load Balancing service
+* Support for specifying compartments on options APIs in the Container Engine for Kubernetes service
+* Support for volume performance units on block volumes in the Block Storage service
+
====================
2.6.3 - 2019-11-05
====================
diff --git a/docs/api/load_balancer.rst b/docs/api/load_balancer.rst
index 8d879228b4..13a70d1379 100644
--- a/docs/api/load_balancer.rst
+++ b/docs/api/load_balancer.rst
@@ -58,10 +58,13 @@ Load Balancer
oci.load_balancer.models.LoadBalancerPolicy
oci.load_balancer.models.LoadBalancerProtocol
oci.load_balancer.models.LoadBalancerShape
+ oci.load_balancer.models.PathMatchCondition
oci.load_balancer.models.PathMatchType
oci.load_balancer.models.PathRoute
oci.load_balancer.models.PathRouteSet
oci.load_balancer.models.PathRouteSetDetails
+ oci.load_balancer.models.RedirectRule
+ oci.load_balancer.models.RedirectUri
oci.load_balancer.models.RemoveHttpRequestHeaderRule
oci.load_balancer.models.RemoveHttpResponseHeaderRule
oci.load_balancer.models.Rule
diff --git a/docs/api/load_balancer/models/oci.load_balancer.models.PathMatchCondition.rst b/docs/api/load_balancer/models/oci.load_balancer.models.PathMatchCondition.rst
new file mode 100644
index 0000000000..3a55236f44
--- /dev/null
+++ b/docs/api/load_balancer/models/oci.load_balancer.models.PathMatchCondition.rst
@@ -0,0 +1,11 @@
+PathMatchCondition
+==================
+
+.. currentmodule:: oci.load_balancer.models
+
+.. autoclass:: PathMatchCondition
+ :show-inheritance:
+ :special-members: __init__
+ :members:
+ :undoc-members:
+ :inherited-members:
\ No newline at end of file
diff --git a/docs/api/load_balancer/models/oci.load_balancer.models.RedirectRule.rst b/docs/api/load_balancer/models/oci.load_balancer.models.RedirectRule.rst
new file mode 100644
index 0000000000..d78ff31df2
--- /dev/null
+++ b/docs/api/load_balancer/models/oci.load_balancer.models.RedirectRule.rst
@@ -0,0 +1,11 @@
+RedirectRule
+============
+
+.. currentmodule:: oci.load_balancer.models
+
+.. autoclass:: RedirectRule
+ :show-inheritance:
+ :special-members: __init__
+ :members:
+ :undoc-members:
+ :inherited-members:
\ No newline at end of file
diff --git a/docs/api/load_balancer/models/oci.load_balancer.models.RedirectUri.rst b/docs/api/load_balancer/models/oci.load_balancer.models.RedirectUri.rst
new file mode 100644
index 0000000000..246fd7b04c
--- /dev/null
+++ b/docs/api/load_balancer/models/oci.load_balancer.models.RedirectUri.rst
@@ -0,0 +1,11 @@
+RedirectUri
+===========
+
+.. currentmodule:: oci.load_balancer.models
+
+.. autoclass:: RedirectUri
+ :show-inheritance:
+ :special-members: __init__
+ :members:
+ :undoc-members:
+ :inherited-members:
\ No newline at end of file
diff --git a/src/oci/container_engine/container_engine_client.py b/src/oci/container_engine/container_engine_client.py
index 11aefad6b2..858d7a8716 100644
--- a/src/oci/container_engine/container_engine_client.py
+++ b/src/oci/container_engine/container_engine_client.py
@@ -622,6 +622,9 @@ def get_cluster_options(self, cluster_option_id, **kwargs):
:param str cluster_option_id: (required)
The id of the option set to retrieve. Only \"all\" is supported.
+ :param str compartment_id: (optional)
+ The OCID of the compartment.
+
:param str opc_request_id: (optional)
Unique Oracle-assigned identifier for the request. If you need to contact
Oracle about a particular request, please provide the request ID.
@@ -643,6 +646,7 @@ def get_cluster_options(self, cluster_option_id, **kwargs):
# Don't accept unknown kwargs
expected_kwargs = [
"retry_strategy",
+ "compartment_id",
"opc_request_id"
]
extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
@@ -660,6 +664,11 @@ def get_cluster_options(self, cluster_option_id, **kwargs):
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))
+ query_params = {
+ "compartmentId": kwargs.get("compartment_id", missing)
+ }
+ query_params = {k: v for (k, v) in six.iteritems(query_params) if v is not missing and v is not None}
+
header_params = {
"accept": "application/json",
"content-type": "application/json",
@@ -677,6 +686,7 @@ def get_cluster_options(self, cluster_option_id, **kwargs):
resource_path=resource_path,
method=method,
path_params=path_params,
+ query_params=query_params,
header_params=header_params,
response_type="ClusterOptions")
else:
@@ -684,6 +694,7 @@ def get_cluster_options(self, cluster_option_id, **kwargs):
resource_path=resource_path,
method=method,
path_params=path_params,
+ query_params=query_params,
header_params=header_params,
response_type="ClusterOptions")
@@ -770,6 +781,9 @@ def get_node_pool_options(self, node_pool_option_id, **kwargs):
:param str node_pool_option_id: (required)
The id of the option set to retrieve. Use \"all\" get all options, or use a cluster ID to get options specific to the provided cluster.
+ :param str compartment_id: (optional)
+ The OCID of the compartment.
+
:param str opc_request_id: (optional)
Unique Oracle-assigned identifier for the request. If you need to contact
Oracle about a particular request, please provide the request ID.
@@ -791,6 +805,7 @@ def get_node_pool_options(self, node_pool_option_id, **kwargs):
# Don't accept unknown kwargs
expected_kwargs = [
"retry_strategy",
+ "compartment_id",
"opc_request_id"
]
extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
@@ -808,6 +823,11 @@ def get_node_pool_options(self, node_pool_option_id, **kwargs):
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))
+ query_params = {
+ "compartmentId": kwargs.get("compartment_id", missing)
+ }
+ query_params = {k: v for (k, v) in six.iteritems(query_params) if v is not missing and v is not None}
+
header_params = {
"accept": "application/json",
"content-type": "application/json",
@@ -825,6 +845,7 @@ def get_node_pool_options(self, node_pool_option_id, **kwargs):
resource_path=resource_path,
method=method,
path_params=path_params,
+ query_params=query_params,
header_params=header_params,
response_type="NodePoolOptions")
else:
@@ -832,6 +853,7 @@ def get_node_pool_options(self, node_pool_option_id, **kwargs):
resource_path=resource_path,
method=method,
path_params=path_params,
+ query_params=query_params,
header_params=header_params,
response_type="NodePoolOptions")
diff --git a/src/oci/container_engine/models/node_pool_options.py b/src/oci/container_engine/models/node_pool_options.py
index e37414b5da..92ac74dcea 100644
--- a/src/oci/container_engine/models/node_pool_options.py
+++ b/src/oci/container_engine/models/node_pool_options.py
@@ -21,30 +21,30 @@ def __init__(self, **kwargs):
The value to assign to the kubernetes_versions property of this NodePoolOptions.
:type kubernetes_versions: list[str]
- :param images:
- The value to assign to the images property of this NodePoolOptions.
- :type images: list[str]
-
:param shapes:
The value to assign to the shapes property of this NodePoolOptions.
:type shapes: list[str]
+ :param images:
+ The value to assign to the images property of this NodePoolOptions.
+ :type images: list[str]
+
"""
self.swagger_types = {
'kubernetes_versions': 'list[str]',
- 'images': 'list[str]',
- 'shapes': 'list[str]'
+ 'shapes': 'list[str]',
+ 'images': 'list[str]'
}
self.attribute_map = {
'kubernetes_versions': 'kubernetesVersions',
- 'images': 'images',
- 'shapes': 'shapes'
+ 'shapes': 'shapes',
+ 'images': 'images'
}
self._kubernetes_versions = None
- self._images = None
self._shapes = None
+ self._images = None
@property
def kubernetes_versions(self):
@@ -71,52 +71,52 @@ def kubernetes_versions(self, kubernetes_versions):
self._kubernetes_versions = kubernetes_versions
@property
- def images(self):
+ def shapes(self):
"""
- Gets the images of this NodePoolOptions.
- Available image names.
+ Gets the shapes of this NodePoolOptions.
+ Available shapes for nodes.
- :return: The images of this NodePoolOptions.
+ :return: The shapes of this NodePoolOptions.
:rtype: list[str]
"""
- return self._images
+ return self._shapes
- @images.setter
- def images(self, images):
+ @shapes.setter
+ def shapes(self, shapes):
"""
- Sets the images of this NodePoolOptions.
- Available image names.
+ Sets the shapes of this NodePoolOptions.
+ Available shapes for nodes.
- :param images: The images of this NodePoolOptions.
+ :param shapes: The shapes of this NodePoolOptions.
:type: list[str]
"""
- self._images = images
+ self._shapes = shapes
@property
- def shapes(self):
+ def images(self):
"""
- Gets the shapes of this NodePoolOptions.
- Available shapes for nodes.
+ Gets the images of this NodePoolOptions.
+ Available image names.
- :return: The shapes of this NodePoolOptions.
+ :return: The images of this NodePoolOptions.
:rtype: list[str]
"""
- return self._shapes
+ return self._images
- @shapes.setter
- def shapes(self, shapes):
+ @images.setter
+ def images(self, images):
"""
- Sets the shapes of this NodePoolOptions.
- Available shapes for nodes.
+ Sets the images of this NodePoolOptions.
+ Available image names.
- :param shapes: The shapes of this NodePoolOptions.
+ :param images: The images of this NodePoolOptions.
:type: list[str]
"""
- self._shapes = shapes
+ self._images = images
def __repr__(self):
return formatted_flat_dict(self)
diff --git a/src/oci/core/models/boot_volume.py b/src/oci/core/models/boot_volume.py
index 0fc5948973..5b377b81e2 100644
--- a/src/oci/core/models/boot_volume.py
+++ b/src/oci/core/models/boot_volume.py
@@ -88,6 +88,10 @@ def __init__(self, **kwargs):
The value to assign to the is_hydrated property of this BootVolume.
:type is_hydrated: bool
+ :param vpus_per_gb:
+ The value to assign to the vpus_per_gb property of this BootVolume.
+ :type vpus_per_gb: int
+
:param lifecycle_state:
The value to assign to the lifecycle_state property of this BootVolume.
Allowed values for this property are: "PROVISIONING", "RESTORING", "AVAILABLE", "TERMINATING", "TERMINATED", "FAULTY", 'UNKNOWN_ENUM_VALUE'.
@@ -129,6 +133,7 @@ def __init__(self, **kwargs):
'id': 'str',
'image_id': 'str',
'is_hydrated': 'bool',
+ 'vpus_per_gb': 'int',
'lifecycle_state': 'str',
'size_in_gbs': 'int',
'size_in_mbs': 'int',
@@ -148,6 +153,7 @@ def __init__(self, **kwargs):
'id': 'id',
'image_id': 'imageId',
'is_hydrated': 'isHydrated',
+ 'vpus_per_gb': 'vpusPerGB',
'lifecycle_state': 'lifecycleState',
'size_in_gbs': 'sizeInGBs',
'size_in_mbs': 'sizeInMBs',
@@ -166,6 +172,7 @@ def __init__(self, **kwargs):
self._id = None
self._image_id = None
self._is_hydrated = None
+ self._vpus_per_gb = None
self._lifecycle_state = None
self._size_in_gbs = None
self._size_in_mbs = None
@@ -418,6 +425,30 @@ def is_hydrated(self, is_hydrated):
"""
self._is_hydrated = is_hydrated
+ @property
+ def vpus_per_gb(self):
+ """
+ Gets the vpus_per_gb of this BootVolume.
+ The number of Volume Performance Units that will be applied to this boot volume per GB.
+
+
+ :return: The vpus_per_gb of this BootVolume.
+ :rtype: int
+ """
+ return self._vpus_per_gb
+
+ @vpus_per_gb.setter
+ def vpus_per_gb(self, vpus_per_gb):
+ """
+ Sets the vpus_per_gb of this BootVolume.
+ The number of Volume Performance Units that will be applied to this boot volume per GB.
+
+
+ :param vpus_per_gb: The vpus_per_gb of this BootVolume.
+ :type: int
+ """
+ self._vpus_per_gb = vpus_per_gb
+
@property
def lifecycle_state(self):
"""
diff --git a/src/oci/core/models/create_boot_volume_details.py b/src/oci/core/models/create_boot_volume_details.py
index 862013ba86..6b9bce262d 100644
--- a/src/oci/core/models/create_boot_volume_details.py
+++ b/src/oci/core/models/create_boot_volume_details.py
@@ -49,6 +49,10 @@ def __init__(self, **kwargs):
The value to assign to the size_in_gbs property of this CreateBootVolumeDetails.
:type size_in_gbs: int
+ :param vpus_per_gb:
+ The value to assign to the vpus_per_gb property of this CreateBootVolumeDetails.
+ :type vpus_per_gb: int
+
:param source_details:
The value to assign to the source_details property of this CreateBootVolumeDetails.
:type source_details: BootVolumeSourceDetails
@@ -63,6 +67,7 @@ def __init__(self, **kwargs):
'freeform_tags': 'dict(str, str)',
'kms_key_id': 'str',
'size_in_gbs': 'int',
+ 'vpus_per_gb': 'int',
'source_details': 'BootVolumeSourceDetails'
}
@@ -75,6 +80,7 @@ def __init__(self, **kwargs):
'freeform_tags': 'freeformTags',
'kms_key_id': 'kmsKeyId',
'size_in_gbs': 'sizeInGBs',
+ 'vpus_per_gb': 'vpusPerGB',
'source_details': 'sourceDetails'
}
@@ -86,6 +92,7 @@ def __init__(self, **kwargs):
self._freeform_tags = None
self._kms_key_id = None
self._size_in_gbs = None
+ self._vpus_per_gb = None
self._source_details = None
@property
@@ -308,6 +315,30 @@ def size_in_gbs(self, size_in_gbs):
"""
self._size_in_gbs = size_in_gbs
+ @property
+ def vpus_per_gb(self):
+ """
+ Gets the vpus_per_gb of this CreateBootVolumeDetails.
+ The number of Volume Performance Units that will be applied to this boot volume per GB.
+
+
+ :return: The vpus_per_gb of this CreateBootVolumeDetails.
+ :rtype: int
+ """
+ return self._vpus_per_gb
+
+ @vpus_per_gb.setter
+ def vpus_per_gb(self, vpus_per_gb):
+ """
+ Sets the vpus_per_gb of this CreateBootVolumeDetails.
+ The number of Volume Performance Units that will be applied to this boot volume per GB.
+
+
+ :param vpus_per_gb: The vpus_per_gb of this CreateBootVolumeDetails.
+ :type: int
+ """
+ self._vpus_per_gb = vpus_per_gb
+
@property
def source_details(self):
"""
diff --git a/src/oci/core/models/create_volume_details.py b/src/oci/core/models/create_volume_details.py
index 2d37721208..7c164aed34 100644
--- a/src/oci/core/models/create_volume_details.py
+++ b/src/oci/core/models/create_volume_details.py
@@ -45,6 +45,10 @@ def __init__(self, **kwargs):
The value to assign to the kms_key_id property of this CreateVolumeDetails.
:type kms_key_id: str
+ :param vpus_per_gb:
+ The value to assign to the vpus_per_gb property of this CreateVolumeDetails.
+ :type vpus_per_gb: int
+
:param size_in_gbs:
The value to assign to the size_in_gbs property of this CreateVolumeDetails.
:type size_in_gbs: int
@@ -70,6 +74,7 @@ def __init__(self, **kwargs):
'display_name': 'str',
'freeform_tags': 'dict(str, str)',
'kms_key_id': 'str',
+ 'vpus_per_gb': 'int',
'size_in_gbs': 'int',
'size_in_mbs': 'int',
'source_details': 'VolumeSourceDetails',
@@ -84,6 +89,7 @@ def __init__(self, **kwargs):
'display_name': 'displayName',
'freeform_tags': 'freeformTags',
'kms_key_id': 'kmsKeyId',
+ 'vpus_per_gb': 'vpusPerGB',
'size_in_gbs': 'sizeInGBs',
'size_in_mbs': 'sizeInMBs',
'source_details': 'sourceDetails',
@@ -97,6 +103,7 @@ def __init__(self, **kwargs):
self._display_name = None
self._freeform_tags = None
self._kms_key_id = None
+ self._vpus_per_gb = None
self._size_in_gbs = None
self._size_in_mbs = None
self._source_details = None
@@ -298,6 +305,30 @@ def kms_key_id(self, kms_key_id):
"""
self._kms_key_id = kms_key_id
+ @property
+ def vpus_per_gb(self):
+ """
+ Gets the vpus_per_gb of this CreateVolumeDetails.
+ The number of Volume Performance Units that will be applied to this volume per GB.
+
+
+ :return: The vpus_per_gb of this CreateVolumeDetails.
+ :rtype: int
+ """
+ return self._vpus_per_gb
+
+ @vpus_per_gb.setter
+ def vpus_per_gb(self, vpus_per_gb):
+ """
+ Sets the vpus_per_gb of this CreateVolumeDetails.
+ The number of Volume Performance Units that will be applied to this volume per GB.
+
+
+ :param vpus_per_gb: The vpus_per_gb of this CreateVolumeDetails.
+ :type: int
+ """
+ self._vpus_per_gb = vpus_per_gb
+
@property
def size_in_gbs(self):
"""
diff --git a/src/oci/core/models/update_boot_volume_details.py b/src/oci/core/models/update_boot_volume_details.py
index 20eeb2d075..dcbd1e32d9 100644
--- a/src/oci/core/models/update_boot_volume_details.py
+++ b/src/oci/core/models/update_boot_volume_details.py
@@ -33,25 +33,32 @@ def __init__(self, **kwargs):
The value to assign to the size_in_gbs property of this UpdateBootVolumeDetails.
:type size_in_gbs: int
+ :param vpus_per_gb:
+ The value to assign to the vpus_per_gb property of this UpdateBootVolumeDetails.
+ :type vpus_per_gb: int
+
"""
self.swagger_types = {
'defined_tags': 'dict(str, dict(str, object))',
'display_name': 'str',
'freeform_tags': 'dict(str, str)',
- 'size_in_gbs': 'int'
+ 'size_in_gbs': 'int',
+ 'vpus_per_gb': 'int'
}
self.attribute_map = {
'defined_tags': 'definedTags',
'display_name': 'displayName',
'freeform_tags': 'freeformTags',
- 'size_in_gbs': 'sizeInGBs'
+ 'size_in_gbs': 'sizeInGBs',
+ 'vpus_per_gb': 'vpusPerGB'
}
self._defined_tags = None
self._display_name = None
self._freeform_tags = None
self._size_in_gbs = None
+ self._vpus_per_gb = None
@property
def defined_tags(self):
@@ -171,6 +178,30 @@ def size_in_gbs(self, size_in_gbs):
"""
self._size_in_gbs = size_in_gbs
+ @property
+ def vpus_per_gb(self):
+ """
+ Gets the vpus_per_gb of this UpdateBootVolumeDetails.
+ The number of Volume Performance Units that will be applied to this boot volume per GB.
+
+
+ :return: The vpus_per_gb of this UpdateBootVolumeDetails.
+ :rtype: int
+ """
+ return self._vpus_per_gb
+
+ @vpus_per_gb.setter
+ def vpus_per_gb(self, vpus_per_gb):
+ """
+ Sets the vpus_per_gb of this UpdateBootVolumeDetails.
+ The number of Volume Performance Units that will be applied to this boot volume per GB.
+
+
+ :param vpus_per_gb: The vpus_per_gb of this UpdateBootVolumeDetails.
+ :type: int
+ """
+ self._vpus_per_gb = vpus_per_gb
+
def __repr__(self):
return formatted_flat_dict(self)
diff --git a/src/oci/core/models/update_volume_details.py b/src/oci/core/models/update_volume_details.py
index 55a6464fe4..3d6e757976 100644
--- a/src/oci/core/models/update_volume_details.py
+++ b/src/oci/core/models/update_volume_details.py
@@ -29,6 +29,10 @@ def __init__(self, **kwargs):
The value to assign to the freeform_tags property of this UpdateVolumeDetails.
:type freeform_tags: dict(str, str)
+ :param vpus_per_gb:
+ The value to assign to the vpus_per_gb property of this UpdateVolumeDetails.
+ :type vpus_per_gb: int
+
:param size_in_gbs:
The value to assign to the size_in_gbs property of this UpdateVolumeDetails.
:type size_in_gbs: int
@@ -38,6 +42,7 @@ def __init__(self, **kwargs):
'defined_tags': 'dict(str, dict(str, object))',
'display_name': 'str',
'freeform_tags': 'dict(str, str)',
+ 'vpus_per_gb': 'int',
'size_in_gbs': 'int'
}
@@ -45,12 +50,14 @@ def __init__(self, **kwargs):
'defined_tags': 'definedTags',
'display_name': 'displayName',
'freeform_tags': 'freeformTags',
+ 'vpus_per_gb': 'vpusPerGB',
'size_in_gbs': 'sizeInGBs'
}
self._defined_tags = None
self._display_name = None
self._freeform_tags = None
+ self._vpus_per_gb = None
self._size_in_gbs = None
@property
@@ -147,6 +154,30 @@ def freeform_tags(self, freeform_tags):
"""
self._freeform_tags = freeform_tags
+ @property
+ def vpus_per_gb(self):
+ """
+ Gets the vpus_per_gb of this UpdateVolumeDetails.
+ The number of Volume Performance Units that will be applied to this volume per GB.
+
+
+ :return: The vpus_per_gb of this UpdateVolumeDetails.
+ :rtype: int
+ """
+ return self._vpus_per_gb
+
+ @vpus_per_gb.setter
+ def vpus_per_gb(self, vpus_per_gb):
+ """
+ Sets the vpus_per_gb of this UpdateVolumeDetails.
+ The number of Volume Performance Units that will be applied to this volume per GB.
+
+
+ :param vpus_per_gb: The vpus_per_gb of this UpdateVolumeDetails.
+ :type: int
+ """
+ self._vpus_per_gb = vpus_per_gb
+
@property
def size_in_gbs(self):
"""
diff --git a/src/oci/core/models/volume.py b/src/oci/core/models/volume.py
index 0da1ea9c94..3595532ad4 100644
--- a/src/oci/core/models/volume.py
+++ b/src/oci/core/models/volume.py
@@ -95,6 +95,10 @@ def __init__(self, **kwargs):
Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
:type lifecycle_state: str
+ :param vpus_per_gb:
+ The value to assign to the vpus_per_gb property of this Volume.
+ :type vpus_per_gb: int
+
:param size_in_gbs:
The value to assign to the size_in_gbs property of this Volume.
:type size_in_gbs: int
@@ -127,6 +131,7 @@ def __init__(self, **kwargs):
'is_hydrated': 'bool',
'kms_key_id': 'str',
'lifecycle_state': 'str',
+ 'vpus_per_gb': 'int',
'size_in_gbs': 'int',
'size_in_mbs': 'int',
'source_details': 'VolumeSourceDetails',
@@ -145,6 +150,7 @@ def __init__(self, **kwargs):
'is_hydrated': 'isHydrated',
'kms_key_id': 'kmsKeyId',
'lifecycle_state': 'lifecycleState',
+ 'vpus_per_gb': 'vpusPerGB',
'size_in_gbs': 'sizeInGBs',
'size_in_mbs': 'sizeInMBs',
'source_details': 'sourceDetails',
@@ -162,6 +168,7 @@ def __init__(self, **kwargs):
self._is_hydrated = None
self._kms_key_id = None
self._lifecycle_state = None
+ self._vpus_per_gb = None
self._size_in_gbs = None
self._size_in_mbs = None
self._source_details = None
@@ -442,6 +449,30 @@ def lifecycle_state(self, lifecycle_state):
lifecycle_state = 'UNKNOWN_ENUM_VALUE'
self._lifecycle_state = lifecycle_state
+ @property
+ def vpus_per_gb(self):
+ """
+ Gets the vpus_per_gb of this Volume.
+ The number of Volume Performance Units that will be applied to this volume per GB.
+
+
+ :return: The vpus_per_gb of this Volume.
+ :rtype: int
+ """
+ return self._vpus_per_gb
+
+ @vpus_per_gb.setter
+ def vpus_per_gb(self, vpus_per_gb):
+ """
+ Sets the vpus_per_gb of this Volume.
+ The number of Volume Performance Units that will be applied to this volume per GB.
+
+
+ :param vpus_per_gb: The vpus_per_gb of this Volume.
+ :type: int
+ """
+ self._vpus_per_gb = vpus_per_gb
+
@property
def size_in_gbs(self):
"""
diff --git a/src/oci/database/database_client.py b/src/oci/database/database_client.py
index 5995bcbdd0..2e0ddcc663 100644
--- a/src/oci/database/database_client.py
+++ b/src/oci/database/database_client.py
@@ -2693,6 +2693,79 @@ def delete_vm_cluster_network(self, exadata_infrastructure_id, vm_cluster_networ
path_params=path_params,
header_params=header_params)
+ def deregister_autonomous_database_data_safe(self, autonomous_database_id, **kwargs):
+ """
+ Asynchronously deregisters Data Safe for this Autonomous Database.
+ Asynchronously deregisters Data Safe for this Autonomous Database.
+
+
+ :param str autonomous_database_id: (required)
+ The database `OCID`__.
+
+ __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm
+
+ :param str opc_request_id: (optional)
+ Unique identifier for the request.
+
+ :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 `__.
+
+ 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 None
+ :rtype: :class:`~oci.response.Response`
+ """
+ resource_path = "/autonomousDatabases/{autonomousDatabaseId}/actions/deregisterDataSafe"
+ method = "POST"
+
+ # 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(
+ "deregister_autonomous_database_data_safe got unknown kwargs: {!r}".format(extra_kwargs))
+
+ path_params = {
+ "autonomousDatabaseId": autonomous_database_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)
+ else:
+ return self.base_client.call_api(
+ resource_path=resource_path,
+ method=method,
+ path_params=path_params,
+ header_params=header_params)
+
def download_exadata_infrastructure_config_file(self, exadata_infrastructure_id, **kwargs):
"""
Downloads the configuration file for the specified Exadata infrastructure.
@@ -8075,6 +8148,79 @@ def list_vm_clusters(self, compartment_id, **kwargs):
header_params=header_params,
response_type="list[VmClusterSummary]")
+ def register_autonomous_database_data_safe(self, autonomous_database_id, **kwargs):
+ """
+ Asynchronously registers this Autonomous Database with Data Safe.
+ Asynchronously registers Data Safe with this Autonomous Database.
+
+
+ :param str autonomous_database_id: (required)
+ The database `OCID`__.
+
+ __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm
+
+ :param str opc_request_id: (optional)
+ Unique identifier for the request.
+
+ :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 `__.
+
+ 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 None
+ :rtype: :class:`~oci.response.Response`
+ """
+ resource_path = "/autonomousDatabases/{autonomousDatabaseId}/actions/registerDataSafe"
+ method = "POST"
+
+ # 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(
+ "register_autonomous_database_data_safe got unknown kwargs: {!r}".format(extra_kwargs))
+
+ path_params = {
+ "autonomousDatabaseId": autonomous_database_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)
+ else:
+ return self.base_client.call_api(
+ resource_path=resource_path,
+ method=method,
+ path_params=path_params,
+ header_params=header_params)
+
def reinstate_data_guard_association(self, database_id, data_guard_association_id, reinstate_data_guard_association_details, **kwargs):
"""
Reinstates a database to a Data Guard association standby role.
diff --git a/src/oci/database/database_client_composite_operations.py b/src/oci/database/database_client_composite_operations.py
index 94b27eacc7..0fea075c16 100644
--- a/src/oci/database/database_client_composite_operations.py
+++ b/src/oci/database/database_client_composite_operations.py
@@ -1296,6 +1296,43 @@ def delete_vm_cluster_and_wait_for_state(self, vm_cluster_id, wait_for_states=[]
except Exception as e:
raise oci.exceptions.CompositeOperationError(partial_results=[operation_result], cause=e)
+ def deregister_autonomous_database_data_safe_and_wait_for_work_request(self, autonomous_database_id, work_request_states=[], operation_kwargs={}, waiter_kwargs={}):
+ """
+ Calls :py:func:`~oci.database.DatabaseClient.deregister_autonomous_database_data_safe` and waits for the oci.work_requests.models.WorkRequest
+ to enter the given state(s).
+
+ :param str autonomous_database_id: (required)
+ The database `OCID`__.
+
+ __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm
+
+ :param list[str] work_request_states: (optional)
+ An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
+ Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]
+
+ :param dict operation_kwargs:
+ A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.deregister_autonomous_database_data_safe`
+
+ :param dict waiter_kwargs:
+ A dictionary of keyword arguments to pass to the :py:func:`oci.wait_until` function. For example, you could pass ``max_interval_seconds`` or ``max_interval_seconds``
+ as dictionary keys to modify how long the waiter function will wait between retries and the maximum amount of time it will wait
+ """
+ operation_result = self.client.deregister_autonomous_database_data_safe(autonomous_database_id, **operation_kwargs)
+ work_request_states = work_request_states if work_request_states else oci.waiter._WORK_REQUEST_TERMINATION_STATES
+ lowered_work_request_states = [w.lower() for w in work_request_states]
+ work_request_id = operation_result.headers['opc-work-request-id']
+
+ try:
+ waiter_result = oci.wait_until(
+ self._work_request_client,
+ self._work_request_client.get_work_request(work_request_id),
+ evaluate_response=lambda r: getattr(r.data, 'status') and getattr(r.data, 'status').lower() in lowered_work_request_states,
+ **waiter_kwargs
+ )
+ return waiter_result
+ except Exception as e:
+ raise oci.exceptions.CompositeOperationError(partial_results=[operation_result], cause=e)
+
def failover_data_guard_association_and_wait_for_state(self, database_id, data_guard_association_id, failover_data_guard_association_details, wait_for_states=[], operation_kwargs={}, waiter_kwargs={}):
"""
Calls :py:func:`~oci.database.DatabaseClient.failover_data_guard_association` and waits for the :py:class:`~oci.database.models.DataGuardAssociation` acted upon
@@ -1455,6 +1492,43 @@ def launch_db_system_and_wait_for_state(self, launch_db_system_details, wait_for
except Exception as e:
raise oci.exceptions.CompositeOperationError(partial_results=[operation_result], cause=e)
+ def register_autonomous_database_data_safe_and_wait_for_work_request(self, autonomous_database_id, work_request_states=[], operation_kwargs={}, waiter_kwargs={}):
+ """
+ Calls :py:func:`~oci.database.DatabaseClient.register_autonomous_database_data_safe` and waits for the oci.work_requests.models.WorkRequest
+ to enter the given state(s).
+
+ :param str autonomous_database_id: (required)
+ The database `OCID`__.
+
+ __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm
+
+ :param list[str] work_request_states: (optional)
+ An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
+ Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]
+
+ :param dict operation_kwargs:
+ A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.register_autonomous_database_data_safe`
+
+ :param dict waiter_kwargs:
+ A dictionary of keyword arguments to pass to the :py:func:`oci.wait_until` function. For example, you could pass ``max_interval_seconds`` or ``max_interval_seconds``
+ as dictionary keys to modify how long the waiter function will wait between retries and the maximum amount of time it will wait
+ """
+ operation_result = self.client.register_autonomous_database_data_safe(autonomous_database_id, **operation_kwargs)
+ work_request_states = work_request_states if work_request_states else oci.waiter._WORK_REQUEST_TERMINATION_STATES
+ lowered_work_request_states = [w.lower() for w in work_request_states]
+ work_request_id = operation_result.headers['opc-work-request-id']
+
+ try:
+ waiter_result = oci.wait_until(
+ self._work_request_client,
+ self._work_request_client.get_work_request(work_request_id),
+ evaluate_response=lambda r: getattr(r.data, 'status') and getattr(r.data, 'status').lower() in lowered_work_request_states,
+ **waiter_kwargs
+ )
+ return waiter_result
+ except Exception as e:
+ raise oci.exceptions.CompositeOperationError(partial_results=[operation_result], cause=e)
+
def reinstate_data_guard_association_and_wait_for_state(self, database_id, data_guard_association_id, reinstate_data_guard_association_details, wait_for_states=[], operation_kwargs={}, waiter_kwargs={}):
"""
Calls :py:func:`~oci.database.DatabaseClient.reinstate_data_guard_association` and waits for the :py:class:`~oci.database.models.DataGuardAssociation` acted upon
diff --git a/src/oci/database/models/autonomous_database.py b/src/oci/database/models/autonomous_database.py
index f36ad28724..a536832969 100644
--- a/src/oci/database/models/autonomous_database.py
+++ b/src/oci/database/models/autonomous_database.py
@@ -88,6 +88,26 @@ class AutonomousDatabase(object):
#: This constant has a value of "DW"
DB_WORKLOAD_DW = "DW"
+ #: A constant which can be used with the data_safe_status property of a AutonomousDatabase.
+ #: This constant has a value of "REGISTERING"
+ DATA_SAFE_STATUS_REGISTERING = "REGISTERING"
+
+ #: A constant which can be used with the data_safe_status property of a AutonomousDatabase.
+ #: This constant has a value of "REGISTERED"
+ DATA_SAFE_STATUS_REGISTERED = "REGISTERED"
+
+ #: A constant which can be used with the data_safe_status property of a AutonomousDatabase.
+ #: This constant has a value of "DEREGISTERING"
+ DATA_SAFE_STATUS_DEREGISTERING = "DEREGISTERING"
+
+ #: A constant which can be used with the data_safe_status property of a AutonomousDatabase.
+ #: This constant has a value of "NOT_REGISTERED"
+ DATA_SAFE_STATUS_NOT_REGISTERED = "NOT_REGISTERED"
+
+ #: A constant which can be used with the data_safe_status property of a AutonomousDatabase.
+ #: This constant has a value of "FAILED"
+ DATA_SAFE_STATUS_FAILED = "FAILED"
+
def __init__(self, **kwargs):
"""
Initializes a new AutonomousDatabase object with values from keyword arguments.
@@ -207,6 +227,12 @@ def __init__(self, **kwargs):
The value to assign to the is_auto_scaling_enabled property of this AutonomousDatabase.
:type is_auto_scaling_enabled: bool
+ :param data_safe_status:
+ The value to assign to the data_safe_status property of this AutonomousDatabase.
+ Allowed values for this property are: "REGISTERING", "REGISTERED", "DEREGISTERING", "NOT_REGISTERED", "FAILED", 'UNKNOWN_ENUM_VALUE'.
+ Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
+ :type data_safe_status: str
+
"""
self.swagger_types = {
'id': 'str',
@@ -235,7 +261,8 @@ def __init__(self, **kwargs):
'is_preview': 'bool',
'db_workload': 'str',
'whitelisted_ips': 'list[str]',
- 'is_auto_scaling_enabled': 'bool'
+ 'is_auto_scaling_enabled': 'bool',
+ 'data_safe_status': 'str'
}
self.attribute_map = {
@@ -265,7 +292,8 @@ def __init__(self, **kwargs):
'is_preview': 'isPreview',
'db_workload': 'dbWorkload',
'whitelisted_ips': 'whitelistedIps',
- 'is_auto_scaling_enabled': 'isAutoScalingEnabled'
+ 'is_auto_scaling_enabled': 'isAutoScalingEnabled',
+ 'data_safe_status': 'dataSafeStatus'
}
self._id = None
@@ -295,6 +323,7 @@ def __init__(self, **kwargs):
self._db_workload = None
self._whitelisted_ips = None
self._is_auto_scaling_enabled = None
+ self._data_safe_status = None
@property
def id(self):
@@ -1010,6 +1039,36 @@ def is_auto_scaling_enabled(self, is_auto_scaling_enabled):
"""
self._is_auto_scaling_enabled = is_auto_scaling_enabled
+ @property
+ def data_safe_status(self):
+ """
+ Gets the data_safe_status of this AutonomousDatabase.
+ Status of the Data Safe registration for this Autonomous Database.
+
+ Allowed values for this property are: "REGISTERING", "REGISTERED", "DEREGISTERING", "NOT_REGISTERED", "FAILED", 'UNKNOWN_ENUM_VALUE'.
+ Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
+
+
+ :return: The data_safe_status of this AutonomousDatabase.
+ :rtype: str
+ """
+ return self._data_safe_status
+
+ @data_safe_status.setter
+ def data_safe_status(self, data_safe_status):
+ """
+ Sets the data_safe_status of this AutonomousDatabase.
+ Status of the Data Safe registration for this Autonomous Database.
+
+
+ :param data_safe_status: The data_safe_status of this AutonomousDatabase.
+ :type: str
+ """
+ allowed_values = ["REGISTERING", "REGISTERED", "DEREGISTERING", "NOT_REGISTERED", "FAILED"]
+ if not value_allowed_none_or_none_sentinel(data_safe_status, allowed_values):
+ data_safe_status = 'UNKNOWN_ENUM_VALUE'
+ self._data_safe_status = data_safe_status
+
def __repr__(self):
return formatted_flat_dict(self)
diff --git a/src/oci/database/models/autonomous_database_connection_urls.py b/src/oci/database/models/autonomous_database_connection_urls.py
index 8c0d9f8915..20f8e37c3c 100644
--- a/src/oci/database/models/autonomous_database_connection_urls.py
+++ b/src/oci/database/models/autonomous_database_connection_urls.py
@@ -29,19 +29,26 @@ def __init__(self, **kwargs):
The value to assign to the apex_url property of this AutonomousDatabaseConnectionUrls.
:type apex_url: str
+ :param machine_learning_user_management_url:
+ The value to assign to the machine_learning_user_management_url property of this AutonomousDatabaseConnectionUrls.
+ :type machine_learning_user_management_url: str
+
"""
self.swagger_types = {
'sql_dev_web_url': 'str',
- 'apex_url': 'str'
+ 'apex_url': 'str',
+ 'machine_learning_user_management_url': 'str'
}
self.attribute_map = {
'sql_dev_web_url': 'sqlDevWebUrl',
- 'apex_url': 'apexUrl'
+ 'apex_url': 'apexUrl',
+ 'machine_learning_user_management_url': 'machineLearningUserManagementUrl'
}
self._sql_dev_web_url = None
self._apex_url = None
+ self._machine_learning_user_management_url = None
@property
def sql_dev_web_url(self):
@@ -91,6 +98,30 @@ def apex_url(self, apex_url):
"""
self._apex_url = apex_url
+ @property
+ def machine_learning_user_management_url(self):
+ """
+ Gets the machine_learning_user_management_url of this AutonomousDatabaseConnectionUrls.
+ Oracle Machine Learning User Management URL.
+
+
+ :return: The machine_learning_user_management_url of this AutonomousDatabaseConnectionUrls.
+ :rtype: str
+ """
+ return self._machine_learning_user_management_url
+
+ @machine_learning_user_management_url.setter
+ def machine_learning_user_management_url(self, machine_learning_user_management_url):
+ """
+ Sets the machine_learning_user_management_url of this AutonomousDatabaseConnectionUrls.
+ Oracle Machine Learning User Management URL.
+
+
+ :param machine_learning_user_management_url: The machine_learning_user_management_url of this AutonomousDatabaseConnectionUrls.
+ :type: str
+ """
+ self._machine_learning_user_management_url = machine_learning_user_management_url
+
def __repr__(self):
return formatted_flat_dict(self)
diff --git a/src/oci/database/models/autonomous_database_summary.py b/src/oci/database/models/autonomous_database_summary.py
index 6400ceec5e..1ca91497c7 100644
--- a/src/oci/database/models/autonomous_database_summary.py
+++ b/src/oci/database/models/autonomous_database_summary.py
@@ -90,6 +90,26 @@ class AutonomousDatabaseSummary(object):
#: This constant has a value of "DW"
DB_WORKLOAD_DW = "DW"
+ #: A constant which can be used with the data_safe_status property of a AutonomousDatabaseSummary.
+ #: This constant has a value of "REGISTERING"
+ DATA_SAFE_STATUS_REGISTERING = "REGISTERING"
+
+ #: A constant which can be used with the data_safe_status property of a AutonomousDatabaseSummary.
+ #: This constant has a value of "REGISTERED"
+ DATA_SAFE_STATUS_REGISTERED = "REGISTERED"
+
+ #: A constant which can be used with the data_safe_status property of a AutonomousDatabaseSummary.
+ #: This constant has a value of "DEREGISTERING"
+ DATA_SAFE_STATUS_DEREGISTERING = "DEREGISTERING"
+
+ #: A constant which can be used with the data_safe_status property of a AutonomousDatabaseSummary.
+ #: This constant has a value of "NOT_REGISTERED"
+ DATA_SAFE_STATUS_NOT_REGISTERED = "NOT_REGISTERED"
+
+ #: A constant which can be used with the data_safe_status property of a AutonomousDatabaseSummary.
+ #: This constant has a value of "FAILED"
+ DATA_SAFE_STATUS_FAILED = "FAILED"
+
def __init__(self, **kwargs):
"""
Initializes a new AutonomousDatabaseSummary object with values from keyword arguments.
@@ -209,6 +229,12 @@ def __init__(self, **kwargs):
The value to assign to the is_auto_scaling_enabled property of this AutonomousDatabaseSummary.
:type is_auto_scaling_enabled: bool
+ :param data_safe_status:
+ The value to assign to the data_safe_status property of this AutonomousDatabaseSummary.
+ Allowed values for this property are: "REGISTERING", "REGISTERED", "DEREGISTERING", "NOT_REGISTERED", "FAILED", 'UNKNOWN_ENUM_VALUE'.
+ Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
+ :type data_safe_status: str
+
"""
self.swagger_types = {
'id': 'str',
@@ -237,7 +263,8 @@ def __init__(self, **kwargs):
'is_preview': 'bool',
'db_workload': 'str',
'whitelisted_ips': 'list[str]',
- 'is_auto_scaling_enabled': 'bool'
+ 'is_auto_scaling_enabled': 'bool',
+ 'data_safe_status': 'str'
}
self.attribute_map = {
@@ -267,7 +294,8 @@ def __init__(self, **kwargs):
'is_preview': 'isPreview',
'db_workload': 'dbWorkload',
'whitelisted_ips': 'whitelistedIps',
- 'is_auto_scaling_enabled': 'isAutoScalingEnabled'
+ 'is_auto_scaling_enabled': 'isAutoScalingEnabled',
+ 'data_safe_status': 'dataSafeStatus'
}
self._id = None
@@ -297,6 +325,7 @@ def __init__(self, **kwargs):
self._db_workload = None
self._whitelisted_ips = None
self._is_auto_scaling_enabled = None
+ self._data_safe_status = None
@property
def id(self):
@@ -1012,6 +1041,36 @@ def is_auto_scaling_enabled(self, is_auto_scaling_enabled):
"""
self._is_auto_scaling_enabled = is_auto_scaling_enabled
+ @property
+ def data_safe_status(self):
+ """
+ Gets the data_safe_status of this AutonomousDatabaseSummary.
+ Status of the Data Safe registration for this Autonomous Database.
+
+ Allowed values for this property are: "REGISTERING", "REGISTERED", "DEREGISTERING", "NOT_REGISTERED", "FAILED", 'UNKNOWN_ENUM_VALUE'.
+ Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
+
+
+ :return: The data_safe_status of this AutonomousDatabaseSummary.
+ :rtype: str
+ """
+ return self._data_safe_status
+
+ @data_safe_status.setter
+ def data_safe_status(self, data_safe_status):
+ """
+ Sets the data_safe_status of this AutonomousDatabaseSummary.
+ Status of the Data Safe registration for this Autonomous Database.
+
+
+ :param data_safe_status: The data_safe_status of this AutonomousDatabaseSummary.
+ :type: str
+ """
+ allowed_values = ["REGISTERING", "REGISTERED", "DEREGISTERING", "NOT_REGISTERED", "FAILED"]
+ if not value_allowed_none_or_none_sentinel(data_safe_status, allowed_values):
+ data_safe_status = 'UNKNOWN_ENUM_VALUE'
+ self._data_safe_status = data_safe_status
+
def __repr__(self):
return formatted_flat_dict(self)
diff --git a/src/oci/load_balancer/models/__init__.py b/src/oci/load_balancer/models/__init__.py
index ca1248de15..bffd1245da 100644
--- a/src/oci/load_balancer/models/__init__.py
+++ b/src/oci/load_balancer/models/__init__.py
@@ -43,10 +43,13 @@
from .load_balancer_policy import LoadBalancerPolicy
from .load_balancer_protocol import LoadBalancerProtocol
from .load_balancer_shape import LoadBalancerShape
+from .path_match_condition import PathMatchCondition
from .path_match_type import PathMatchType
from .path_route import PathRoute
from .path_route_set import PathRouteSet
from .path_route_set_details import PathRouteSetDetails
+from .redirect_rule import RedirectRule
+from .redirect_uri import RedirectUri
from .remove_http_request_header_rule import RemoveHttpRequestHeaderRule
from .remove_http_response_header_rule import RemoveHttpResponseHeaderRule
from .rule import Rule
@@ -113,10 +116,13 @@
"LoadBalancerPolicy": LoadBalancerPolicy,
"LoadBalancerProtocol": LoadBalancerProtocol,
"LoadBalancerShape": LoadBalancerShape,
+ "PathMatchCondition": PathMatchCondition,
"PathMatchType": PathMatchType,
"PathRoute": PathRoute,
"PathRouteSet": PathRouteSet,
"PathRouteSetDetails": PathRouteSetDetails,
+ "RedirectRule": RedirectRule,
+ "RedirectUri": RedirectUri,
"RemoveHttpRequestHeaderRule": RemoveHttpRequestHeaderRule,
"RemoveHttpResponseHeaderRule": RemoveHttpResponseHeaderRule,
"Rule": Rule,
diff --git a/src/oci/load_balancer/models/add_http_request_header_rule.py b/src/oci/load_balancer/models/add_http_request_header_rule.py
index da155bbd90..714cc8c754 100644
--- a/src/oci/load_balancer/models/add_http_request_header_rule.py
+++ b/src/oci/load_balancer/models/add_http_request_header_rule.py
@@ -30,7 +30,7 @@ def __init__(self, **kwargs):
:param action:
The value to assign to the action property of this AddHttpRequestHeaderRule.
- Allowed values for this property are: "ADD_HTTP_REQUEST_HEADER", "EXTEND_HTTP_REQUEST_HEADER_VALUE", "REMOVE_HTTP_REQUEST_HEADER", "ADD_HTTP_RESPONSE_HEADER", "EXTEND_HTTP_RESPONSE_HEADER_VALUE", "REMOVE_HTTP_RESPONSE_HEADER", "ALLOW", "CONTROL_ACCESS_USING_HTTP_METHODS"
+ Allowed values for this property are: "ADD_HTTP_REQUEST_HEADER", "EXTEND_HTTP_REQUEST_HEADER_VALUE", "REMOVE_HTTP_REQUEST_HEADER", "ADD_HTTP_RESPONSE_HEADER", "EXTEND_HTTP_RESPONSE_HEADER_VALUE", "REMOVE_HTTP_RESPONSE_HEADER", "ALLOW", "CONTROL_ACCESS_USING_HTTP_METHODS", "REDIRECT"
:type action: str
:param header:
diff --git a/src/oci/load_balancer/models/add_http_response_header_rule.py b/src/oci/load_balancer/models/add_http_response_header_rule.py
index 550b65bdc8..82aacf3ea3 100644
--- a/src/oci/load_balancer/models/add_http_response_header_rule.py
+++ b/src/oci/load_balancer/models/add_http_response_header_rule.py
@@ -30,7 +30,7 @@ def __init__(self, **kwargs):
:param action:
The value to assign to the action property of this AddHttpResponseHeaderRule.
- Allowed values for this property are: "ADD_HTTP_REQUEST_HEADER", "EXTEND_HTTP_REQUEST_HEADER_VALUE", "REMOVE_HTTP_REQUEST_HEADER", "ADD_HTTP_RESPONSE_HEADER", "EXTEND_HTTP_RESPONSE_HEADER_VALUE", "REMOVE_HTTP_RESPONSE_HEADER", "ALLOW", "CONTROL_ACCESS_USING_HTTP_METHODS"
+ Allowed values for this property are: "ADD_HTTP_REQUEST_HEADER", "EXTEND_HTTP_REQUEST_HEADER_VALUE", "REMOVE_HTTP_REQUEST_HEADER", "ADD_HTTP_RESPONSE_HEADER", "EXTEND_HTTP_RESPONSE_HEADER_VALUE", "REMOVE_HTTP_RESPONSE_HEADER", "ALLOW", "CONTROL_ACCESS_USING_HTTP_METHODS", "REDIRECT"
:type action: str
:param header:
diff --git a/src/oci/load_balancer/models/allow_rule.py b/src/oci/load_balancer/models/allow_rule.py
index 62d23c6f41..9b16c6414c 100644
--- a/src/oci/load_balancer/models/allow_rule.py
+++ b/src/oci/load_balancer/models/allow_rule.py
@@ -30,7 +30,7 @@ def __init__(self, **kwargs):
:param action:
The value to assign to the action property of this AllowRule.
- Allowed values for this property are: "ADD_HTTP_REQUEST_HEADER", "EXTEND_HTTP_REQUEST_HEADER_VALUE", "REMOVE_HTTP_REQUEST_HEADER", "ADD_HTTP_RESPONSE_HEADER", "EXTEND_HTTP_RESPONSE_HEADER_VALUE", "REMOVE_HTTP_RESPONSE_HEADER", "ALLOW", "CONTROL_ACCESS_USING_HTTP_METHODS"
+ Allowed values for this property are: "ADD_HTTP_REQUEST_HEADER", "EXTEND_HTTP_REQUEST_HEADER_VALUE", "REMOVE_HTTP_REQUEST_HEADER", "ADD_HTTP_RESPONSE_HEADER", "EXTEND_HTTP_RESPONSE_HEADER_VALUE", "REMOVE_HTTP_RESPONSE_HEADER", "ALLOW", "CONTROL_ACCESS_USING_HTTP_METHODS", "REDIRECT"
:type action: str
:param conditions:
diff --git a/src/oci/load_balancer/models/control_access_using_http_methods_rule.py b/src/oci/load_balancer/models/control_access_using_http_methods_rule.py
index 58b42c85b2..a85b1ceeb0 100644
--- a/src/oci/load_balancer/models/control_access_using_http_methods_rule.py
+++ b/src/oci/load_balancer/models/control_access_using_http_methods_rule.py
@@ -29,7 +29,7 @@ def __init__(self, **kwargs):
:param action:
The value to assign to the action property of this ControlAccessUsingHttpMethodsRule.
- Allowed values for this property are: "ADD_HTTP_REQUEST_HEADER", "EXTEND_HTTP_REQUEST_HEADER_VALUE", "REMOVE_HTTP_REQUEST_HEADER", "ADD_HTTP_RESPONSE_HEADER", "EXTEND_HTTP_RESPONSE_HEADER_VALUE", "REMOVE_HTTP_RESPONSE_HEADER", "ALLOW", "CONTROL_ACCESS_USING_HTTP_METHODS"
+ Allowed values for this property are: "ADD_HTTP_REQUEST_HEADER", "EXTEND_HTTP_REQUEST_HEADER_VALUE", "REMOVE_HTTP_REQUEST_HEADER", "ADD_HTTP_RESPONSE_HEADER", "EXTEND_HTTP_RESPONSE_HEADER_VALUE", "REMOVE_HTTP_RESPONSE_HEADER", "ALLOW", "CONTROL_ACCESS_USING_HTTP_METHODS", "REDIRECT"
:type action: str
:param allowed_methods:
diff --git a/src/oci/load_balancer/models/extend_http_request_header_value_rule.py b/src/oci/load_balancer/models/extend_http_request_header_value_rule.py
index 610a98b2dc..bd4ca3b19c 100644
--- a/src/oci/load_balancer/models/extend_http_request_header_value_rule.py
+++ b/src/oci/load_balancer/models/extend_http_request_header_value_rule.py
@@ -33,7 +33,7 @@ def __init__(self, **kwargs):
:param action:
The value to assign to the action property of this ExtendHttpRequestHeaderValueRule.
- Allowed values for this property are: "ADD_HTTP_REQUEST_HEADER", "EXTEND_HTTP_REQUEST_HEADER_VALUE", "REMOVE_HTTP_REQUEST_HEADER", "ADD_HTTP_RESPONSE_HEADER", "EXTEND_HTTP_RESPONSE_HEADER_VALUE", "REMOVE_HTTP_RESPONSE_HEADER", "ALLOW", "CONTROL_ACCESS_USING_HTTP_METHODS"
+ Allowed values for this property are: "ADD_HTTP_REQUEST_HEADER", "EXTEND_HTTP_REQUEST_HEADER_VALUE", "REMOVE_HTTP_REQUEST_HEADER", "ADD_HTTP_RESPONSE_HEADER", "EXTEND_HTTP_RESPONSE_HEADER_VALUE", "REMOVE_HTTP_RESPONSE_HEADER", "ALLOW", "CONTROL_ACCESS_USING_HTTP_METHODS", "REDIRECT"
:type action: str
:param header:
diff --git a/src/oci/load_balancer/models/extend_http_response_header_value_rule.py b/src/oci/load_balancer/models/extend_http_response_header_value_rule.py
index 9a65801d7e..3c7b7d54e2 100644
--- a/src/oci/load_balancer/models/extend_http_response_header_value_rule.py
+++ b/src/oci/load_balancer/models/extend_http_response_header_value_rule.py
@@ -33,7 +33,7 @@ def __init__(self, **kwargs):
:param action:
The value to assign to the action property of this ExtendHttpResponseHeaderValueRule.
- Allowed values for this property are: "ADD_HTTP_REQUEST_HEADER", "EXTEND_HTTP_REQUEST_HEADER_VALUE", "REMOVE_HTTP_REQUEST_HEADER", "ADD_HTTP_RESPONSE_HEADER", "EXTEND_HTTP_RESPONSE_HEADER_VALUE", "REMOVE_HTTP_RESPONSE_HEADER", "ALLOW", "CONTROL_ACCESS_USING_HTTP_METHODS"
+ Allowed values for this property are: "ADD_HTTP_REQUEST_HEADER", "EXTEND_HTTP_REQUEST_HEADER_VALUE", "REMOVE_HTTP_REQUEST_HEADER", "ADD_HTTP_RESPONSE_HEADER", "EXTEND_HTTP_RESPONSE_HEADER_VALUE", "REMOVE_HTTP_RESPONSE_HEADER", "ALLOW", "CONTROL_ACCESS_USING_HTTP_METHODS", "REDIRECT"
:type action: str
:param header:
diff --git a/src/oci/load_balancer/models/path_match_condition.py b/src/oci/load_balancer/models/path_match_condition.py
new file mode 100644
index 0000000000..f05197f6f5
--- /dev/null
+++ b/src/oci/load_balancer/models/path_match_condition.py
@@ -0,0 +1,163 @@
+# coding: utf-8
+# Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
+
+from .rule_condition import RuleCondition
+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 PathMatchCondition(RuleCondition):
+ """
+ The path string and match condition to apply when evaluating an incoming URI for redirection.
+ """
+
+ #: A constant which can be used with the operator property of a PathMatchCondition.
+ #: This constant has a value of "EXACT_MATCH"
+ OPERATOR_EXACT_MATCH = "EXACT_MATCH"
+
+ #: A constant which can be used with the operator property of a PathMatchCondition.
+ #: This constant has a value of "FORCE_LONGEST_PREFIX_MATCH"
+ OPERATOR_FORCE_LONGEST_PREFIX_MATCH = "FORCE_LONGEST_PREFIX_MATCH"
+
+ #: A constant which can be used with the operator property of a PathMatchCondition.
+ #: This constant has a value of "PREFIX_MATCH"
+ OPERATOR_PREFIX_MATCH = "PREFIX_MATCH"
+
+ #: A constant which can be used with the operator property of a PathMatchCondition.
+ #: This constant has a value of "SUFFIX_MATCH"
+ OPERATOR_SUFFIX_MATCH = "SUFFIX_MATCH"
+
+ def __init__(self, **kwargs):
+ """
+ Initializes a new PathMatchCondition object with values from keyword arguments. The default value of the :py:attr:`~oci.load_balancer.models.PathMatchCondition.attribute_name` attribute
+ of this class is ``PATH`` and it should not be changed.
+ The following keyword arguments are supported (corresponding to the getters/setters of this class):
+
+ :param attribute_name:
+ The value to assign to the attribute_name property of this PathMatchCondition.
+ Allowed values for this property are: "SOURCE_IP_ADDRESS", "SOURCE_VCN_ID", "SOURCE_VCN_IP_ADDRESS", "PATH", 'UNKNOWN_ENUM_VALUE'.
+ Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
+ :type attribute_name: str
+
+ :param attribute_value:
+ The value to assign to the attribute_value property of this PathMatchCondition.
+ :type attribute_value: str
+
+ :param operator:
+ The value to assign to the operator property of this PathMatchCondition.
+ Allowed values for this property are: "EXACT_MATCH", "FORCE_LONGEST_PREFIX_MATCH", "PREFIX_MATCH", "SUFFIX_MATCH", 'UNKNOWN_ENUM_VALUE'.
+ Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
+ :type operator: str
+
+ """
+ self.swagger_types = {
+ 'attribute_name': 'str',
+ 'attribute_value': 'str',
+ 'operator': 'str'
+ }
+
+ self.attribute_map = {
+ 'attribute_name': 'attributeName',
+ 'attribute_value': 'attributeValue',
+ 'operator': 'operator'
+ }
+
+ self._attribute_name = None
+ self._attribute_value = None
+ self._operator = None
+ self._attribute_name = 'PATH'
+
+ @property
+ def attribute_value(self):
+ """
+ **[Required]** Gets the attribute_value of this PathMatchCondition.
+ The path string that the redirection rule applies to.
+
+ Example: `/example`
+
+
+ :return: The attribute_value of this PathMatchCondition.
+ :rtype: str
+ """
+ return self._attribute_value
+
+ @attribute_value.setter
+ def attribute_value(self, attribute_value):
+ """
+ Sets the attribute_value of this PathMatchCondition.
+ The path string that the redirection rule applies to.
+
+ Example: `/example`
+
+
+ :param attribute_value: The attribute_value of this PathMatchCondition.
+ :type: str
+ """
+ self._attribute_value = attribute_value
+
+ @property
+ def operator(self):
+ """
+ **[Required]** Gets the operator of this PathMatchCondition.
+ A string that specifies how to compare the PathMatchCondition object's `attributeValue` string to the
+ incoming URI.
+
+ * **EXACT_MATCH** - The incoming URI path must exactly and completely match the `attributeValue` string.
+
+ * **FORCE_LONGEST_PREFIX_MATCH** - The system looks for the `attributeValue` string with the best,
+ longest match of the beginning portion of the incoming URI path.
+
+ * **PREFIX_MATCH** - The beginning portion of the incoming URI path must exactly match the
+ `attributeValue` string.
+
+ * **SUFFIX_MATCH** - The ending portion of the incoming URI path must exactly match the `attributeValue`
+ string.
+
+ Allowed values for this property are: "EXACT_MATCH", "FORCE_LONGEST_PREFIX_MATCH", "PREFIX_MATCH", "SUFFIX_MATCH", 'UNKNOWN_ENUM_VALUE'.
+ Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
+
+
+ :return: The operator of this PathMatchCondition.
+ :rtype: str
+ """
+ return self._operator
+
+ @operator.setter
+ def operator(self, operator):
+ """
+ Sets the operator of this PathMatchCondition.
+ A string that specifies how to compare the PathMatchCondition object's `attributeValue` string to the
+ incoming URI.
+
+ * **EXACT_MATCH** - The incoming URI path must exactly and completely match the `attributeValue` string.
+
+ * **FORCE_LONGEST_PREFIX_MATCH** - The system looks for the `attributeValue` string with the best,
+ longest match of the beginning portion of the incoming URI path.
+
+ * **PREFIX_MATCH** - The beginning portion of the incoming URI path must exactly match the
+ `attributeValue` string.
+
+ * **SUFFIX_MATCH** - The ending portion of the incoming URI path must exactly match the `attributeValue`
+ string.
+
+
+ :param operator: The operator of this PathMatchCondition.
+ :type: str
+ """
+ allowed_values = ["EXACT_MATCH", "FORCE_LONGEST_PREFIX_MATCH", "PREFIX_MATCH", "SUFFIX_MATCH"]
+ if not value_allowed_none_or_none_sentinel(operator, allowed_values):
+ operator = 'UNKNOWN_ENUM_VALUE'
+ self._operator = operator
+
+ 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
diff --git a/src/oci/load_balancer/models/redirect_rule.py b/src/oci/load_balancer/models/redirect_rule.py
new file mode 100644
index 0000000000..9b822563a1
--- /dev/null
+++ b/src/oci/load_balancer/models/redirect_rule.py
@@ -0,0 +1,170 @@
+# coding: utf-8
+# Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
+
+from .rule import Rule
+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 RedirectRule(Rule):
+ """
+ An object that represents the action of returning a specified response code and a redirect URI. Each RedirectRule
+ object is configured for a particular listener and a designated path.
+
+ The default response code is `302 Moved Temporarily`.
+
+ **NOTES:**
+ * This rule applies only to HTTP listeners.
+ * You can specify this rule only with the :func:`rule_condition`
+ type `PATH`.
+ * A listener can have only one RedirectRule object for a given original path. The
+ :func:`path_match_condition` `attributeValue` specifies the
+ original path.
+ """
+
+ def __init__(self, **kwargs):
+ """
+ Initializes a new RedirectRule object with values from keyword arguments. The default value of the :py:attr:`~oci.load_balancer.models.RedirectRule.action` attribute
+ of this class is ``REDIRECT`` and it should not be changed.
+ The following keyword arguments are supported (corresponding to the getters/setters of this class):
+
+ :param action:
+ The value to assign to the action property of this RedirectRule.
+ Allowed values for this property are: "ADD_HTTP_REQUEST_HEADER", "EXTEND_HTTP_REQUEST_HEADER_VALUE", "REMOVE_HTTP_REQUEST_HEADER", "ADD_HTTP_RESPONSE_HEADER", "EXTEND_HTTP_RESPONSE_HEADER_VALUE", "REMOVE_HTTP_RESPONSE_HEADER", "ALLOW", "CONTROL_ACCESS_USING_HTTP_METHODS", "REDIRECT"
+ :type action: str
+
+ :param response_code:
+ The value to assign to the response_code property of this RedirectRule.
+ :type response_code: int
+
+ :param conditions:
+ The value to assign to the conditions property of this RedirectRule.
+ :type conditions: list[RuleCondition]
+
+ :param redirect_uri:
+ The value to assign to the redirect_uri property of this RedirectRule.
+ :type redirect_uri: RedirectUri
+
+ """
+ self.swagger_types = {
+ 'action': 'str',
+ 'response_code': 'int',
+ 'conditions': 'list[RuleCondition]',
+ 'redirect_uri': 'RedirectUri'
+ }
+
+ self.attribute_map = {
+ 'action': 'action',
+ 'response_code': 'responseCode',
+ 'conditions': 'conditions',
+ 'redirect_uri': 'redirectUri'
+ }
+
+ self._action = None
+ self._response_code = None
+ self._conditions = None
+ self._redirect_uri = None
+ self._action = 'REDIRECT'
+
+ @property
+ def response_code(self):
+ """
+ Gets the response_code of this RedirectRule.
+ The HTTP status code to return when the incoming request is redirected.
+
+ The status line returned with the code is mapped from the standard HTTP specification. Valid response
+ codes for redirection are:
+
+ * 301
+ * 302
+ * 303
+ * 307
+ * 308
+
+ The default value is `302` (Moved Temporarily).
+
+ Example: `301`
+
+
+ :return: The response_code of this RedirectRule.
+ :rtype: int
+ """
+ return self._response_code
+
+ @response_code.setter
+ def response_code(self, response_code):
+ """
+ Sets the response_code of this RedirectRule.
+ The HTTP status code to return when the incoming request is redirected.
+
+ The status line returned with the code is mapped from the standard HTTP specification. Valid response
+ codes for redirection are:
+
+ * 301
+ * 302
+ * 303
+ * 307
+ * 308
+
+ The default value is `302` (Moved Temporarily).
+
+ Example: `301`
+
+
+ :param response_code: The response_code of this RedirectRule.
+ :type: int
+ """
+ self._response_code = response_code
+
+ @property
+ def conditions(self):
+ """
+ **[Required]** Gets the conditions of this RedirectRule.
+
+ :return: The conditions of this RedirectRule.
+ :rtype: list[RuleCondition]
+ """
+ return self._conditions
+
+ @conditions.setter
+ def conditions(self, conditions):
+ """
+ Sets the conditions of this RedirectRule.
+
+ :param conditions: The conditions of this RedirectRule.
+ :type: list[RuleCondition]
+ """
+ self._conditions = conditions
+
+ @property
+ def redirect_uri(self):
+ """
+ Gets the redirect_uri of this RedirectRule.
+
+ :return: The redirect_uri of this RedirectRule.
+ :rtype: RedirectUri
+ """
+ return self._redirect_uri
+
+ @redirect_uri.setter
+ def redirect_uri(self, redirect_uri):
+ """
+ Sets the redirect_uri of this RedirectRule.
+
+ :param redirect_uri: The redirect_uri of this RedirectRule.
+ :type: RedirectUri
+ """
+ self._redirect_uri = redirect_uri
+
+ 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
diff --git a/src/oci/load_balancer/models/redirect_uri.py b/src/oci/load_balancer/models/redirect_uri.py
new file mode 100644
index 0000000000..2e578e3309
--- /dev/null
+++ b/src/oci/load_balancer/models/redirect_uri.py
@@ -0,0 +1,417 @@
+# coding: utf-8
+# Copyright (c) 2016, 2019, 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 RedirectUri(object):
+ """
+ An object that defines the redirect URI applied to the original request. The object property values compose the
+ redirect URI.
+
+ **NOTE:** The Load Balancing service cannot automatically detect or avoid infinite redirects. Be sure to provide
+ meaningful, complete, and correct field values. If any component field of this object has no value, the system
+ retains the value from the incoming HTTP request URI.
+
+ For example, if you specify only the protocol field `https`, and the incoming request URI is
+ `http://example.com:8080`, the resulting runtime redirect URI is `https://example.com:8080`. The system retains
+ the host and port from the incoming URI and does not automatically change the port setting from `8080` to `443`.
+
+ Be sure to configure valid percent-encoding (URL encoding) when needed.
+
+ In addition to static string values, you can use the following tokens to construct the redirect URI. These tokens
+ extract values from the incoming HTTP request URI.
+
+ * {protocol} : The protocol from the incoming HTTP request URI.
+ * {host} : The domain name from the incoming HTTP request URI.
+ * {port} : The port from the incoming HTTP request URI.
+ * {path} : The path from the incoming HTTP request URI.
+ * {query} : The query string from the incoming HTTP request URI.
+
+ The tokens are case sensitive. For example, `{host}` is a valid token, but `{HOST}` is not.
+
+ You can retain the literal characters of a token when you specify values for the path and query properties of the
+ redirect URI. Use a backslash (\\\\) as the escape character for the \\\\, {, and } characters. For example, if the
+ incoming HTTP request URI is `/video`, the path property value:
+
+ `/example{path}123\\{path\\}`
+
+ appears in the constructed redirect URI as:
+
+ `/example/video123{path}`
+ """
+
+ def __init__(self, **kwargs):
+ """
+ Initializes a new RedirectUri object with values from keyword arguments.
+ The following keyword arguments are supported (corresponding to the getters/setters of this class):
+
+ :param protocol:
+ The value to assign to the protocol property of this RedirectUri.
+ :type protocol: str
+
+ :param host:
+ The value to assign to the host property of this RedirectUri.
+ :type host: str
+
+ :param port:
+ The value to assign to the port property of this RedirectUri.
+ :type port: int
+
+ :param path:
+ The value to assign to the path property of this RedirectUri.
+ :type path: str
+
+ :param query:
+ The value to assign to the query property of this RedirectUri.
+ :type query: str
+
+ """
+ self.swagger_types = {
+ 'protocol': 'str',
+ 'host': 'str',
+ 'port': 'int',
+ 'path': 'str',
+ 'query': 'str'
+ }
+
+ self.attribute_map = {
+ 'protocol': 'protocol',
+ 'host': 'host',
+ 'port': 'port',
+ 'path': 'path',
+ 'query': 'query'
+ }
+
+ self._protocol = None
+ self._host = None
+ self._port = None
+ self._path = None
+ self._query = None
+
+ @property
+ def protocol(self):
+ """
+ Gets the protocol of this RedirectUri.
+ The HTTP protocol to use in the redirect URI.
+
+ When this value is null, not set, or set to `{protocol}`, the service preserves the original protocol from the
+ incoming HTTP request URI. Allowed values are:
+
+ * HTTP
+ * HTTPS
+ * {protocol}
+
+ `{protocol}` is the only valid token for this property. It can appear only once in the value string.
+
+ Example: `HTTPS`
+
+
+ :return: The protocol of this RedirectUri.
+ :rtype: str
+ """
+ return self._protocol
+
+ @protocol.setter
+ def protocol(self, protocol):
+ """
+ Sets the protocol of this RedirectUri.
+ The HTTP protocol to use in the redirect URI.
+
+ When this value is null, not set, or set to `{protocol}`, the service preserves the original protocol from the
+ incoming HTTP request URI. Allowed values are:
+
+ * HTTP
+ * HTTPS
+ * {protocol}
+
+ `{protocol}` is the only valid token for this property. It can appear only once in the value string.
+
+ Example: `HTTPS`
+
+
+ :param protocol: The protocol of this RedirectUri.
+ :type: str
+ """
+ self._protocol = protocol
+
+ @property
+ def host(self):
+ """
+ Gets the host of this RedirectUri.
+ The valid domain name (hostname) or IP address to use in the redirect URI.
+
+ When this value is null, not set, or set to `{host}`, the service preserves the original domain name from the
+ incoming HTTP request URI.
+
+ All RedirectUri tokens are valid for this property. You can use any token more than once.
+
+ Curly braces are valid in this property only to surround tokens, such as `{host}`
+
+ Examples:
+
+ * **example.com** appears as `example.com` in the redirect URI.
+
+ * **in{host}** appears as `inexample.com` in the redirect URI if `example.com` is the hostname in the
+ incoming HTTP request URI.
+
+ * **{port}{host}** appears as `8081example.com` in the redirect URI if `example.com` is the hostname and
+ the port is `8081` in the incoming HTTP request URI.
+
+
+ :return: The host of this RedirectUri.
+ :rtype: str
+ """
+ return self._host
+
+ @host.setter
+ def host(self, host):
+ """
+ Sets the host of this RedirectUri.
+ The valid domain name (hostname) or IP address to use in the redirect URI.
+
+ When this value is null, not set, or set to `{host}`, the service preserves the original domain name from the
+ incoming HTTP request URI.
+
+ All RedirectUri tokens are valid for this property. You can use any token more than once.
+
+ Curly braces are valid in this property only to surround tokens, such as `{host}`
+
+ Examples:
+
+ * **example.com** appears as `example.com` in the redirect URI.
+
+ * **in{host}** appears as `inexample.com` in the redirect URI if `example.com` is the hostname in the
+ incoming HTTP request URI.
+
+ * **{port}{host}** appears as `8081example.com` in the redirect URI if `example.com` is the hostname and
+ the port is `8081` in the incoming HTTP request URI.
+
+
+ :param host: The host of this RedirectUri.
+ :type: str
+ """
+ self._host = host
+
+ @property
+ def port(self):
+ """
+ Gets the port of this RedirectUri.
+ The communication port to use in the redirect URI.
+
+ Valid values include integers from 1 to 65535.
+
+ When this value is null, the service preserves the original port from the incoming HTTP request URI.
+
+ Example: `8081`
+
+
+ :return: The port of this RedirectUri.
+ :rtype: int
+ """
+ return self._port
+
+ @port.setter
+ def port(self, port):
+ """
+ Sets the port of this RedirectUri.
+ The communication port to use in the redirect URI.
+
+ Valid values include integers from 1 to 65535.
+
+ When this value is null, the service preserves the original port from the incoming HTTP request URI.
+
+ Example: `8081`
+
+
+ :param port: The port of this RedirectUri.
+ :type: int
+ """
+ self._port = port
+
+ @property
+ def path(self):
+ """
+ Gets the path of this RedirectUri.
+ The HTTP URI path to use in the redirect URI.
+
+ When this value is null, not set, or set to `{path}`, the service preserves the original path from the
+ incoming HTTP request URI. To omit the path from the redirect URI, set this value to an empty string, \"\".
+
+ All RedirectUri tokens are valid for this property. You can use any token more than once.
+
+ The path string must begin with `/` if it does not begin with the `{path}` token.
+
+ Examples:
+
+ * __/example/video/123__ appears as `/example/video/123` in the redirect URI.
+
+ * __/example{path}__ appears as `/example/video/123` in the redirect URI if `/video/123` is the path in the
+ incoming HTTP request URI.
+
+ * __{path}/123__ appears as `/example/video/123` in the redirect URI if `/example/video` is the path in the
+ incoming HTTP request URI.
+
+ * __{path}123__ appears as `/example/video123` in the redirect URI if `/example/video is the path in the
+ incoming HTTP request URI.
+
+ * __/{host}/123__ appears as `/example.com/video/123` in the redirect URI if `example.com` is the hostname
+ in the incoming HTTP request URI.
+
+ * __/{host}/{port}__ appears as `/example.com/123` in the redirect URI if `example.com` is the hostname and
+ `123` is the port in the incoming HTTP request URI.
+
+ * __/{query}__ appears as `/lang=en` in the redirect URI if the query is `lang=en` in the incoming HTTP
+ request URI.
+
+
+ :return: The path of this RedirectUri.
+ :rtype: str
+ """
+ return self._path
+
+ @path.setter
+ def path(self, path):
+ """
+ Sets the path of this RedirectUri.
+ The HTTP URI path to use in the redirect URI.
+
+ When this value is null, not set, or set to `{path}`, the service preserves the original path from the
+ incoming HTTP request URI. To omit the path from the redirect URI, set this value to an empty string, \"\".
+
+ All RedirectUri tokens are valid for this property. You can use any token more than once.
+
+ The path string must begin with `/` if it does not begin with the `{path}` token.
+
+ Examples:
+
+ * __/example/video/123__ appears as `/example/video/123` in the redirect URI.
+
+ * __/example{path}__ appears as `/example/video/123` in the redirect URI if `/video/123` is the path in the
+ incoming HTTP request URI.
+
+ * __{path}/123__ appears as `/example/video/123` in the redirect URI if `/example/video` is the path in the
+ incoming HTTP request URI.
+
+ * __{path}123__ appears as `/example/video123` in the redirect URI if `/example/video is the path in the
+ incoming HTTP request URI.
+
+ * __/{host}/123__ appears as `/example.com/video/123` in the redirect URI if `example.com` is the hostname
+ in the incoming HTTP request URI.
+
+ * __/{host}/{port}__ appears as `/example.com/123` in the redirect URI if `example.com` is the hostname and
+ `123` is the port in the incoming HTTP request URI.
+
+ * __/{query}__ appears as `/lang=en` in the redirect URI if the query is `lang=en` in the incoming HTTP
+ request URI.
+
+
+ :param path: The path of this RedirectUri.
+ :type: str
+ """
+ self._path = path
+
+ @property
+ def query(self):
+ """
+ Gets the query of this RedirectUri.
+ The query string to use in the redirect URI.
+
+ When this value is null, not set, or set to `{query}`, the service preserves the original query parameters
+ from the incoming HTTP request URI.
+
+ All `RedirectUri` tokens are valid for this property. You can use any token more than once.
+
+ If the query string does not begin with the `{query}` token, it must begin with the question mark (?) character.
+
+ You can specify multiple query parameters as a single string. Separate each query parameter with an ampersand
+ (&) character. To omit all incoming query parameters from the redirect URI, set this value to an empty
+ string, \"\".
+
+ If the specified query string results in a redirect URI ending with `?` or `&`, the last character is truncated.
+ For example, if the incoming URI is `http://host.com:8080/documents` and the query property value is
+ `?lang=en&{query}`, the redirect URI is `http://host.com:8080/documents?lang=en`. The system
+ truncates the final ampersand (&) because the incoming URI included no value to replace the {query} token.
+
+ Examples:
+ * **lang=en&time_zone=PST** appears as `lang=en&time_zone=PST` in the redirect URI.
+
+ * **{query}** appears as `lang=en&time_zone=PST` in the redirect URI if `lang=en&time_zone=PST` is the query
+ string in the incoming HTTP request. If the incoming HTTP request has no query parameters, the `{query}`
+ token renders as an empty string.
+
+ * **lang=en&{query}&time_zone=PST** appears as `lang=en&country=us&time_zone=PST` in the redirect URI if
+ `country=us` is the query string in the incoming HTTP request. If the incoming HTTP request has no query
+ parameters, this value renders as `lang=en&time_zone=PST`.
+
+ * **protocol={protocol}&hostname={host}** appears as `protocol=http&hostname=example.com` in the redirect
+ URI if the protocol is `HTTP` and the hostname is `example.com` in the incoming HTTP request.
+
+ * **port={port}&hostname={host}** appears as `port=8080&hostname=example.com` in the redirect URI if the
+ port is `8080` and the hostname is `example.com` in the incoming HTTP request URI.
+
+
+ :return: The query of this RedirectUri.
+ :rtype: str
+ """
+ return self._query
+
+ @query.setter
+ def query(self, query):
+ """
+ Sets the query of this RedirectUri.
+ The query string to use in the redirect URI.
+
+ When this value is null, not set, or set to `{query}`, the service preserves the original query parameters
+ from the incoming HTTP request URI.
+
+ All `RedirectUri` tokens are valid for this property. You can use any token more than once.
+
+ If the query string does not begin with the `{query}` token, it must begin with the question mark (?) character.
+
+ You can specify multiple query parameters as a single string. Separate each query parameter with an ampersand
+ (&) character. To omit all incoming query parameters from the redirect URI, set this value to an empty
+ string, \"\".
+
+ If the specified query string results in a redirect URI ending with `?` or `&`, the last character is truncated.
+ For example, if the incoming URI is `http://host.com:8080/documents` and the query property value is
+ `?lang=en&{query}`, the redirect URI is `http://host.com:8080/documents?lang=en`. The system
+ truncates the final ampersand (&) because the incoming URI included no value to replace the {query} token.
+
+ Examples:
+ * **lang=en&time_zone=PST** appears as `lang=en&time_zone=PST` in the redirect URI.
+
+ * **{query}** appears as `lang=en&time_zone=PST` in the redirect URI if `lang=en&time_zone=PST` is the query
+ string in the incoming HTTP request. If the incoming HTTP request has no query parameters, the `{query}`
+ token renders as an empty string.
+
+ * **lang=en&{query}&time_zone=PST** appears as `lang=en&country=us&time_zone=PST` in the redirect URI if
+ `country=us` is the query string in the incoming HTTP request. If the incoming HTTP request has no query
+ parameters, this value renders as `lang=en&time_zone=PST`.
+
+ * **protocol={protocol}&hostname={host}** appears as `protocol=http&hostname=example.com` in the redirect
+ URI if the protocol is `HTTP` and the hostname is `example.com` in the incoming HTTP request.
+
+ * **port={port}&hostname={host}** appears as `port=8080&hostname=example.com` in the redirect URI if the
+ port is `8080` and the hostname is `example.com` in the incoming HTTP request URI.
+
+
+ :param query: The query of this RedirectUri.
+ :type: str
+ """
+ self._query = query
+
+ 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
diff --git a/src/oci/load_balancer/models/remove_http_request_header_rule.py b/src/oci/load_balancer/models/remove_http_request_header_rule.py
index 161082b2ea..118352f399 100644
--- a/src/oci/load_balancer/models/remove_http_request_header_rule.py
+++ b/src/oci/load_balancer/models/remove_http_request_header_rule.py
@@ -26,7 +26,7 @@ def __init__(self, **kwargs):
:param action:
The value to assign to the action property of this RemoveHttpRequestHeaderRule.
- Allowed values for this property are: "ADD_HTTP_REQUEST_HEADER", "EXTEND_HTTP_REQUEST_HEADER_VALUE", "REMOVE_HTTP_REQUEST_HEADER", "ADD_HTTP_RESPONSE_HEADER", "EXTEND_HTTP_RESPONSE_HEADER_VALUE", "REMOVE_HTTP_RESPONSE_HEADER", "ALLOW", "CONTROL_ACCESS_USING_HTTP_METHODS"
+ Allowed values for this property are: "ADD_HTTP_REQUEST_HEADER", "EXTEND_HTTP_REQUEST_HEADER_VALUE", "REMOVE_HTTP_REQUEST_HEADER", "ADD_HTTP_RESPONSE_HEADER", "EXTEND_HTTP_RESPONSE_HEADER_VALUE", "REMOVE_HTTP_RESPONSE_HEADER", "ALLOW", "CONTROL_ACCESS_USING_HTTP_METHODS", "REDIRECT"
:type action: str
:param header:
diff --git a/src/oci/load_balancer/models/remove_http_response_header_rule.py b/src/oci/load_balancer/models/remove_http_response_header_rule.py
index 360220e8e9..2b8270b547 100644
--- a/src/oci/load_balancer/models/remove_http_response_header_rule.py
+++ b/src/oci/load_balancer/models/remove_http_response_header_rule.py
@@ -26,7 +26,7 @@ def __init__(self, **kwargs):
:param action:
The value to assign to the action property of this RemoveHttpResponseHeaderRule.
- Allowed values for this property are: "ADD_HTTP_REQUEST_HEADER", "EXTEND_HTTP_REQUEST_HEADER_VALUE", "REMOVE_HTTP_REQUEST_HEADER", "ADD_HTTP_RESPONSE_HEADER", "EXTEND_HTTP_RESPONSE_HEADER_VALUE", "REMOVE_HTTP_RESPONSE_HEADER", "ALLOW", "CONTROL_ACCESS_USING_HTTP_METHODS"
+ Allowed values for this property are: "ADD_HTTP_REQUEST_HEADER", "EXTEND_HTTP_REQUEST_HEADER_VALUE", "REMOVE_HTTP_REQUEST_HEADER", "ADD_HTTP_RESPONSE_HEADER", "EXTEND_HTTP_RESPONSE_HEADER_VALUE", "REMOVE_HTTP_RESPONSE_HEADER", "ALLOW", "CONTROL_ACCESS_USING_HTTP_METHODS", "REDIRECT"
:type action: str
:param header:
diff --git a/src/oci/load_balancer/models/rule.py b/src/oci/load_balancer/models/rule.py
index 6fbc8d01e4..fc21bc1130 100644
--- a/src/oci/load_balancer/models/rule.py
+++ b/src/oci/load_balancer/models/rule.py
@@ -44,12 +44,17 @@ class Rule(object):
#: This constant has a value of "CONTROL_ACCESS_USING_HTTP_METHODS"
ACTION_CONTROL_ACCESS_USING_HTTP_METHODS = "CONTROL_ACCESS_USING_HTTP_METHODS"
+ #: A constant which can be used with the action property of a Rule.
+ #: This constant has a value of "REDIRECT"
+ ACTION_REDIRECT = "REDIRECT"
+
def __init__(self, **kwargs):
"""
Initializes a new Rule object with values from keyword arguments. This class has the following subclasses and if you are using this class as input
to a service operations then you should favor using a subclass over the base class:
* :class:`~oci.load_balancer.models.AddHttpRequestHeaderRule`
+ * :class:`~oci.load_balancer.models.RedirectRule`
* :class:`~oci.load_balancer.models.RemoveHttpRequestHeaderRule`
* :class:`~oci.load_balancer.models.ExtendHttpRequestHeaderValueRule`
* :class:`~oci.load_balancer.models.RemoveHttpResponseHeaderRule`
@@ -62,7 +67,7 @@ def __init__(self, **kwargs):
:param action:
The value to assign to the action property of this Rule.
- Allowed values for this property are: "ADD_HTTP_REQUEST_HEADER", "EXTEND_HTTP_REQUEST_HEADER_VALUE", "REMOVE_HTTP_REQUEST_HEADER", "ADD_HTTP_RESPONSE_HEADER", "EXTEND_HTTP_RESPONSE_HEADER_VALUE", "REMOVE_HTTP_RESPONSE_HEADER", "ALLOW", "CONTROL_ACCESS_USING_HTTP_METHODS", 'UNKNOWN_ENUM_VALUE'.
+ Allowed values for this property are: "ADD_HTTP_REQUEST_HEADER", "EXTEND_HTTP_REQUEST_HEADER_VALUE", "REMOVE_HTTP_REQUEST_HEADER", "ADD_HTTP_RESPONSE_HEADER", "EXTEND_HTTP_RESPONSE_HEADER_VALUE", "REMOVE_HTTP_RESPONSE_HEADER", "ALLOW", "CONTROL_ACCESS_USING_HTTP_METHODS", "REDIRECT", 'UNKNOWN_ENUM_VALUE'.
Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
:type action: str
@@ -88,6 +93,9 @@ def get_subtype(object_dictionary):
if type == 'ADD_HTTP_REQUEST_HEADER':
return 'AddHttpRequestHeaderRule'
+ if type == 'REDIRECT':
+ return 'RedirectRule'
+
if type == 'REMOVE_HTTP_REQUEST_HEADER':
return 'RemoveHttpRequestHeaderRule'
@@ -115,7 +123,7 @@ def get_subtype(object_dictionary):
def action(self):
"""
**[Required]** Gets the action of this Rule.
- Allowed values for this property are: "ADD_HTTP_REQUEST_HEADER", "EXTEND_HTTP_REQUEST_HEADER_VALUE", "REMOVE_HTTP_REQUEST_HEADER", "ADD_HTTP_RESPONSE_HEADER", "EXTEND_HTTP_RESPONSE_HEADER_VALUE", "REMOVE_HTTP_RESPONSE_HEADER", "ALLOW", "CONTROL_ACCESS_USING_HTTP_METHODS", 'UNKNOWN_ENUM_VALUE'.
+ Allowed values for this property are: "ADD_HTTP_REQUEST_HEADER", "EXTEND_HTTP_REQUEST_HEADER_VALUE", "REMOVE_HTTP_REQUEST_HEADER", "ADD_HTTP_RESPONSE_HEADER", "EXTEND_HTTP_RESPONSE_HEADER_VALUE", "REMOVE_HTTP_RESPONSE_HEADER", "ALLOW", "CONTROL_ACCESS_USING_HTTP_METHODS", "REDIRECT", 'UNKNOWN_ENUM_VALUE'.
Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
@@ -132,7 +140,7 @@ def action(self, action):
:param action: The action of this Rule.
:type: str
"""
- allowed_values = ["ADD_HTTP_REQUEST_HEADER", "EXTEND_HTTP_REQUEST_HEADER_VALUE", "REMOVE_HTTP_REQUEST_HEADER", "ADD_HTTP_RESPONSE_HEADER", "EXTEND_HTTP_RESPONSE_HEADER_VALUE", "REMOVE_HTTP_RESPONSE_HEADER", "ALLOW", "CONTROL_ACCESS_USING_HTTP_METHODS"]
+ allowed_values = ["ADD_HTTP_REQUEST_HEADER", "EXTEND_HTTP_REQUEST_HEADER_VALUE", "REMOVE_HTTP_REQUEST_HEADER", "ADD_HTTP_RESPONSE_HEADER", "EXTEND_HTTP_RESPONSE_HEADER_VALUE", "REMOVE_HTTP_RESPONSE_HEADER", "ALLOW", "CONTROL_ACCESS_USING_HTTP_METHODS", "REDIRECT"]
if not value_allowed_none_or_none_sentinel(action, allowed_values):
action = 'UNKNOWN_ENUM_VALUE'
self._action = action
diff --git a/src/oci/load_balancer/models/rule_condition.py b/src/oci/load_balancer/models/rule_condition.py
index 8ec4abb43b..d78ceb5d50 100644
--- a/src/oci/load_balancer/models/rule_condition.py
+++ b/src/oci/load_balancer/models/rule_condition.py
@@ -24,6 +24,10 @@ class RuleCondition(object):
#: This constant has a value of "SOURCE_VCN_IP_ADDRESS"
ATTRIBUTE_NAME_SOURCE_VCN_IP_ADDRESS = "SOURCE_VCN_IP_ADDRESS"
+ #: A constant which can be used with the attribute_name property of a RuleCondition.
+ #: This constant has a value of "PATH"
+ ATTRIBUTE_NAME_PATH = "PATH"
+
def __init__(self, **kwargs):
"""
Initializes a new RuleCondition object with values from keyword arguments. This class has the following subclasses and if you are using this class as input
@@ -31,13 +35,14 @@ def __init__(self, **kwargs):
* :class:`~oci.load_balancer.models.SourceVcnIdCondition`
* :class:`~oci.load_balancer.models.SourceIpAddressCondition`
+ * :class:`~oci.load_balancer.models.PathMatchCondition`
* :class:`~oci.load_balancer.models.SourceVcnIpAddressCondition`
The following keyword arguments are supported (corresponding to the getters/setters of this class):
:param attribute_name:
The value to assign to the attribute_name property of this RuleCondition.
- Allowed values for this property are: "SOURCE_IP_ADDRESS", "SOURCE_VCN_ID", "SOURCE_VCN_IP_ADDRESS", 'UNKNOWN_ENUM_VALUE'.
+ Allowed values for this property are: "SOURCE_IP_ADDRESS", "SOURCE_VCN_ID", "SOURCE_VCN_IP_ADDRESS", "PATH", 'UNKNOWN_ENUM_VALUE'.
Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
:type attribute_name: str
@@ -66,6 +71,9 @@ def get_subtype(object_dictionary):
if type == 'SOURCE_IP_ADDRESS':
return 'SourceIpAddressCondition'
+ if type == 'PATH':
+ return 'PathMatchCondition'
+
if type == 'SOURCE_VCN_IP_ADDRESS':
return 'SourceVcnIpAddressCondition'
else:
@@ -75,7 +83,7 @@ def get_subtype(object_dictionary):
def attribute_name(self):
"""
**[Required]** Gets the attribute_name of this RuleCondition.
- Allowed values for this property are: "SOURCE_IP_ADDRESS", "SOURCE_VCN_ID", "SOURCE_VCN_IP_ADDRESS", 'UNKNOWN_ENUM_VALUE'.
+ Allowed values for this property are: "SOURCE_IP_ADDRESS", "SOURCE_VCN_ID", "SOURCE_VCN_IP_ADDRESS", "PATH", 'UNKNOWN_ENUM_VALUE'.
Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
@@ -92,7 +100,7 @@ def attribute_name(self, attribute_name):
:param attribute_name: The attribute_name of this RuleCondition.
:type: str
"""
- allowed_values = ["SOURCE_IP_ADDRESS", "SOURCE_VCN_ID", "SOURCE_VCN_IP_ADDRESS"]
+ allowed_values = ["SOURCE_IP_ADDRESS", "SOURCE_VCN_ID", "SOURCE_VCN_IP_ADDRESS", "PATH"]
if not value_allowed_none_or_none_sentinel(attribute_name, allowed_values):
attribute_name = 'UNKNOWN_ENUM_VALUE'
self._attribute_name = attribute_name
diff --git a/src/oci/load_balancer/models/source_ip_address_condition.py b/src/oci/load_balancer/models/source_ip_address_condition.py
index 00789d237e..7c432d6244 100644
--- a/src/oci/load_balancer/models/source_ip_address_condition.py
+++ b/src/oci/load_balancer/models/source_ip_address_condition.py
@@ -20,7 +20,7 @@ def __init__(self, **kwargs):
:param attribute_name:
The value to assign to the attribute_name property of this SourceIpAddressCondition.
- Allowed values for this property are: "SOURCE_IP_ADDRESS", "SOURCE_VCN_ID", "SOURCE_VCN_IP_ADDRESS"
+ Allowed values for this property are: "SOURCE_IP_ADDRESS", "SOURCE_VCN_ID", "SOURCE_VCN_IP_ADDRESS", "PATH"
:type attribute_name: str
:param attribute_value:
diff --git a/src/oci/load_balancer/models/source_vcn_id_condition.py b/src/oci/load_balancer/models/source_vcn_id_condition.py
index 891f29509d..0c79c76e7d 100644
--- a/src/oci/load_balancer/models/source_vcn_id_condition.py
+++ b/src/oci/load_balancer/models/source_vcn_id_condition.py
@@ -20,7 +20,7 @@ def __init__(self, **kwargs):
:param attribute_name:
The value to assign to the attribute_name property of this SourceVcnIdCondition.
- Allowed values for this property are: "SOURCE_IP_ADDRESS", "SOURCE_VCN_ID", "SOURCE_VCN_IP_ADDRESS"
+ Allowed values for this property are: "SOURCE_IP_ADDRESS", "SOURCE_VCN_ID", "SOURCE_VCN_IP_ADDRESS", "PATH"
:type attribute_name: str
:param attribute_value:
diff --git a/src/oci/load_balancer/models/source_vcn_ip_address_condition.py b/src/oci/load_balancer/models/source_vcn_ip_address_condition.py
index b39c6235a5..6e98d370d4 100644
--- a/src/oci/load_balancer/models/source_vcn_ip_address_condition.py
+++ b/src/oci/load_balancer/models/source_vcn_ip_address_condition.py
@@ -21,7 +21,7 @@ def __init__(self, **kwargs):
:param attribute_name:
The value to assign to the attribute_name property of this SourceVcnIpAddressCondition.
- Allowed values for this property are: "SOURCE_IP_ADDRESS", "SOURCE_VCN_ID", "SOURCE_VCN_IP_ADDRESS"
+ Allowed values for this property are: "SOURCE_IP_ADDRESS", "SOURCE_VCN_ID", "SOURCE_VCN_IP_ADDRESS", "PATH"
:type attribute_name: str
:param attribute_value:
diff --git a/src/oci/version.py b/src/oci/version.py
index 01651e3056..6f91f6b0e3 100644
--- a/src/oci/version.py
+++ b/src/oci/version.py
@@ -1,4 +1,4 @@
# coding: utf-8
# Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
-__version__ = "2.6.3"
+__version__ = "2.6.4"