diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index 3420c4d2f6..0c6d18bd63 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -4,6 +4,19 @@ All notable changes to this project will be documented in this file.
The format is based on `Keep a Changelog `_.
+====================
+1.4.4 - 2018-06-28
+====================
+
+Added
+-----
+* Support for service gateway management in the Networking service
+* Support for backup and clone of boot volumes in the Block Storage service
+
+Changed
+-------
+* Setup.py changed to allow more versions of pytz and python-dateutil packages when installing to an existing environment
+
====================
1.4.3 - 2018-06-14
====================
diff --git a/README.rst b/README.rst
index 73115cfe2e..eede868e6b 100644
--- a/README.rst
+++ b/README.rst
@@ -81,6 +81,10 @@ API reference can be found `here`__.
__ https://oracle-cloud-infrastructure-python-sdk.readthedocs.io/en/latest/index.html
__ https://oracle-cloud-infrastructure-python-sdk.readthedocs.io/en/latest/api/index.html
+A downloadable version of the documentation is include with in the release zip, which can be found `here`__.
+
+__ https://github.com/oracle/oci-python-sdk/releases
+
====
Help
====
diff --git a/docs/requirements.txt b/docs/requirements.txt
old mode 100755
new mode 100644
index d60b15994e..0b037afefb
--- a/docs/requirements.txt
+++ b/docs/requirements.txt
@@ -1,2 +1,2 @@
sphinx-rtd-theme==0.2.5b2
-sphinx==1.6.4
+sphinx==1.6.4
\ No newline at end of file
diff --git a/requirements.txt b/requirements.txt
index aacd37f253..c9d0cd9b97 100755
--- a/requirements.txt
+++ b/requirements.txt
@@ -8,8 +8,8 @@ PyJWT==1.5.3
pyOpenSSL==17.4.0
pytest==3.2.3
pytest-catchlog==1.2.2
-python-dateutil==2.7.3
-pytz==2016.10
+python-dateutil>=2.5.3,<=2.7.3
+pytz>=2016.10
requests==2.18.4
sphinx-rtd-theme==0.2.5b2
six==1.11.0
diff --git a/setup.py b/setup.py
index 7111850de9..1eecbacc83 100644
--- a/setup.py
+++ b/setup.py
@@ -35,8 +35,8 @@ def open_relative(*path):
"idna>=2.5,<2.7",
"PyJWT==1.5.3",
"pyOpenSSL<=17.4.0",
- "python-dateutil==2.7.3",
- "pytz==2016.10",
+ "python-dateutil>=2.5.3,<=2.7.3",
+ "pytz>=2016.10",
"requests==2.18.4",
"six==1.11.0",
]
diff --git a/src/oci/core/blockstorage_client.py b/src/oci/core/blockstorage_client.py
index fa9e484b2d..f45631b637 100644
--- a/src/oci/core/blockstorage_client.py
+++ b/src/oci/core/blockstorage_client.py
@@ -78,11 +78,161 @@ def __init__(self, config, **kwargs):
self.base_client = BaseClient("blockstorage", config, signer, core_type_mapping, **base_client_init_kwargs)
self.retry_strategy = kwargs.get('retry_strategy')
+ def create_boot_volume(self, create_boot_volume_details, **kwargs):
+ """
+ CreateBootVolume
+ Creates a new boot volume in the specified compartment from an existing boot volume or a boot volume backup.
+ For general information about boot volumes, see `Boot Volumes`__.
+ You may optionally specify a *display name* for the volume, which is simply a friendly name or
+ description. It does not have to be unique, and you can change it. Avoid entering confidential information.
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/Block/Concepts/bootvolumes.htm
+
+
+ :param CreateBootVolumeDetails create_boot_volume_details: (required)
+ Request to create a new boot volume.
+
+ :param str opc_retry_token: (optional)
+ A token that uniquely identifies a request so it can be retried in case of a timeout or
+ server error without risk of executing that same action again. Retry tokens expire after 24
+ hours, but can be invalidated before then due to conflicting operations (for example, if a resource
+ has been deleted and purged from the system, then a retry of the original creation request
+ may be rejected).
+
+ :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 :class:`~oci.core.models.BootVolume`
+ :rtype: :class:`~oci.response.Response`
+ """
+ resource_path = "/bootVolumes"
+ method = "POST"
+
+ # Don't accept unknown kwargs
+ expected_kwargs = [
+ "retry_strategy",
+ "opc_retry_token"
+ ]
+ extra_kwargs = [key for key in six.iterkeys(kwargs) if key not in expected_kwargs]
+ if extra_kwargs:
+ raise ValueError(
+ "create_boot_volume got unknown kwargs: {!r}".format(extra_kwargs))
+
+ header_params = {
+ "accept": "application/json",
+ "content-type": "application/json",
+ "opc-retry-token": kwargs.get("opc_retry_token", 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:
+ if not isinstance(retry_strategy, retry.NoneRetryStrategy):
+ self.base_client.add_opc_retry_token_if_needed(header_params)
+ return retry_strategy.make_retrying_call(
+ self.base_client.call_api,
+ resource_path=resource_path,
+ method=method,
+ header_params=header_params,
+ body=create_boot_volume_details,
+ response_type="BootVolume")
+ else:
+ return self.base_client.call_api(
+ resource_path=resource_path,
+ method=method,
+ header_params=header_params,
+ body=create_boot_volume_details,
+ response_type="BootVolume")
+
+ def create_boot_volume_backup(self, create_boot_volume_backup_details, **kwargs):
+ """
+ CreateBootVolumeBackup
+ Creates a new boot volume backup of the specified boot volume. For general information about boot volume backups,
+ see `Overview of Boot Volume Backups`__
+
+ When the request is received, the backup object is in a REQUEST_RECEIVED state.
+ When the data is imaged, it goes into a CREATING state.
+ After the backup is fully uploaded to the cloud, it goes into an AVAILABLE state.
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/Block/Concepts/bootvolumebackups.htm
+
+
+ :param CreateBootVolumeBackupDetails create_boot_volume_backup_details: (required)
+ Request to create a new backup of given boot volume.
+
+ :param str opc_retry_token: (optional)
+ A token that uniquely identifies a request so it can be retried in case of a timeout or
+ server error without risk of executing that same action again. Retry tokens expire after 24
+ hours, but can be invalidated before then due to conflicting operations (for example, if a resource
+ has been deleted and purged from the system, then a retry of the original creation request
+ may be rejected).
+
+ :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 :class:`~oci.core.models.BootVolumeBackup`
+ :rtype: :class:`~oci.response.Response`
+ """
+ resource_path = "/bootVolumeBackups"
+ method = "POST"
+
+ # Don't accept unknown kwargs
+ expected_kwargs = [
+ "retry_strategy",
+ "opc_retry_token"
+ ]
+ extra_kwargs = [key for key in six.iterkeys(kwargs) if key not in expected_kwargs]
+ if extra_kwargs:
+ raise ValueError(
+ "create_boot_volume_backup got unknown kwargs: {!r}".format(extra_kwargs))
+
+ header_params = {
+ "accept": "application/json",
+ "content-type": "application/json",
+ "opc-retry-token": kwargs.get("opc_retry_token", 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:
+ if not isinstance(retry_strategy, retry.NoneRetryStrategy):
+ self.base_client.add_opc_retry_token_if_needed(header_params)
+ return retry_strategy.make_retrying_call(
+ self.base_client.call_api,
+ resource_path=resource_path,
+ method=method,
+ header_params=header_params,
+ body=create_boot_volume_backup_details,
+ response_type="BootVolumeBackup")
+ else:
+ return self.base_client.call_api(
+ resource_path=resource_path,
+ method=method,
+ header_params=header_params,
+ body=create_boot_volume_backup_details,
+ response_type="BootVolumeBackup")
+
def create_volume(self, create_volume_details, **kwargs):
"""
CreateVolume
Creates a new volume in the specified compartment. Volumes can be created in sizes ranging from
- 50 GB (51200 MB) to 16 TB (16777216 MB), in 1 GB (1024 MB) increments. By default, volumes are 1 TB (1048576 MB).
+ 50 GB (51200 MB) to 32 TB (33554432 MB), in 1 GB (1024 MB) increments. By default, volumes are 1 TB (1048576 MB).
For general information about block volumes, see
`Overview of Block Volume Service`__.
@@ -299,12 +449,16 @@ def create_volume_backup_policy_assignment(self, create_volume_backup_policy_ass
def create_volume_group(self, create_volume_group_details, **kwargs):
"""
CreateVolumeGroup
- Creates a new volume group in the specified compartment. A volume group can have at most 20 block volumes.
+ Creates a new volume group in the specified compartment.
A volume group is a collection of volumes and may be created from a list of volumes, cloning an existing
- volume group or by restoring a volume group backup.
+ volume group, or by restoring a volume group backup. A volume group can contain up to 64 volumes.
You may optionally specify a *display name* for the volume group, which is simply a friendly name or
description. It does not have to be unique, and you can change it. Avoid entering confidential information.
+ For more information, see `Volume Groups`__.
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/Block/Concepts/volumegroups.htm
+
:param CreateVolumeGroupDetails create_volume_group_details: (required)
Request to create a new volume group.
@@ -372,7 +526,10 @@ def create_volume_group(self, create_volume_group_details, **kwargs):
def create_volume_group_backup(self, create_volume_group_backup_details, **kwargs):
"""
CreateVolumeGroupBackup
- Creates a new group backup of the specified volume group.
+ Creates a new backup volume group of the specified volume group.
+ For more information, see `Volume Groups`__.
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/Block/Concepts/volumegroups.htm
:param CreateVolumeGroupBackupDetails create_volume_group_backup_details: (required)
@@ -516,6 +673,79 @@ def delete_boot_volume(self, boot_volume_id, **kwargs):
path_params=path_params,
header_params=header_params)
+ def delete_boot_volume_backup(self, boot_volume_backup_id, **kwargs):
+ """
+ DeleteBootVolumeBackup
+ Deletes a boot volume backup.
+
+
+ :param str boot_volume_backup_id: (required)
+ The OCID of the boot volume backup.
+
+ :param str if_match: (optional)
+ For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
+ parameter to the value of the etag from a previous GET or POST response for that resource. The resource
+ will be updated or deleted only if the etag you provide matches the resource's current etag value.
+
+ :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 = "/bootVolumeBackups/{bootVolumeBackupId}"
+ method = "DELETE"
+
+ # Don't accept unknown kwargs
+ expected_kwargs = [
+ "retry_strategy",
+ "if_match"
+ ]
+ extra_kwargs = [key for key in six.iterkeys(kwargs) if key not in expected_kwargs]
+ if extra_kwargs:
+ raise ValueError(
+ "delete_boot_volume_backup got unknown kwargs: {!r}".format(extra_kwargs))
+
+ path_params = {
+ "bootVolumeBackupId": boot_volume_backup_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",
+ "if-match": kwargs.get("if_match", 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 delete_volume(self, volume_id, **kwargs):
"""
DeleteVolume
@@ -743,7 +973,10 @@ def delete_volume_backup_policy_assignment(self, policy_assignment_id, **kwargs)
def delete_volume_group(self, volume_group_id, **kwargs):
"""
DeleteVolumeGroup
- Deletes the specified volume group. This will NOT delete data volumes.
+ Deletes the specified volume group. Individual volumes are not deleted, only the volume group is deleted.
+ For more information, see `Volume Groups`__.
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/Block/Concepts/volumegroups.htm
:param str volume_group_id: (required)
@@ -816,7 +1049,9 @@ def delete_volume_group(self, volume_group_id, **kwargs):
def delete_volume_group_backup(self, volume_group_backup_id, **kwargs):
"""
DeleteVolumeGroupBackup
- Deletes a volume group backup. This will NOT delete backups within the volume group backup.
+ Deletes a volume group backup. This operation deletes all the backups in the volume group. For more information, see `Volume Groups`__.
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/Block/Concepts/volumegroups.htm
:param str volume_group_backup_id: (required)
@@ -950,6 +1185,70 @@ def get_boot_volume(self, boot_volume_id, **kwargs):
header_params=header_params,
response_type="BootVolume")
+ def get_boot_volume_backup(self, boot_volume_backup_id, **kwargs):
+ """
+ GetBootVolumeBackup
+ Gets information for the specified boot volume backup.
+
+
+ :param str boot_volume_backup_id: (required)
+ The OCID of the boot volume backup.
+
+ :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 :class:`~oci.core.models.BootVolumeBackup`
+ :rtype: :class:`~oci.response.Response`
+ """
+ resource_path = "/bootVolumeBackups/{bootVolumeBackupId}"
+ method = "GET"
+
+ expected_kwargs = ["retry_strategy"]
+ extra_kwargs = [key for key in six.iterkeys(kwargs) if key not in expected_kwargs]
+ if extra_kwargs:
+ raise ValueError(
+ "get_boot_volume_backup got unknown kwargs: {!r}".format(extra_kwargs))
+
+ path_params = {
+ "bootVolumeBackupId": boot_volume_backup_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"
+ }
+
+ retry_strategy = self.retry_strategy
+ if kwargs.get('retry_strategy'):
+ retry_strategy = kwargs.get('retry_strategy')
+
+ if retry_strategy:
+ return retry_strategy.make_retrying_call(
+ self.base_client.call_api,
+ resource_path=resource_path,
+ method=method,
+ path_params=path_params,
+ header_params=header_params,
+ response_type="BootVolumeBackup")
+ else:
+ return self.base_client.call_api(
+ resource_path=resource_path,
+ method=method,
+ path_params=path_params,
+ header_params=header_params,
+ response_type="BootVolumeBackup")
+
def get_volume(self, volume_id, **kwargs):
"""
GetVolume
@@ -1285,7 +1584,9 @@ def get_volume_backup_policy_assignment(self, policy_assignment_id, **kwargs):
def get_volume_group(self, volume_group_id, **kwargs):
"""
GetVolumeGroup
- Gets information for the specified volume group.
+ Gets information for the specified volume group. For more information, see `Volume Groups`__.
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/Block/Concepts/volumegroups.htm
:param str volume_group_id: (required)
@@ -1349,7 +1650,9 @@ def get_volume_group(self, volume_group_id, **kwargs):
def get_volume_group_backup(self, volume_group_backup_id, **kwargs):
"""
GetVolumeGroupBackup
- Gets information for the specified volume group backup.
+ Gets information for the specified volume group backup. For more information, see `Volume Groups`__.
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/Block/Concepts/volumegroups.htm
:param str volume_group_backup_id: (required)
@@ -1410,6 +1713,140 @@ def get_volume_group_backup(self, volume_group_backup_id, **kwargs):
header_params=header_params,
response_type="VolumeGroupBackup")
+ def list_boot_volume_backups(self, compartment_id, **kwargs):
+ """
+ ListBootVolumeBackups
+ Lists the boot volume backups in the specified compartment. You can filter the results by boot volume.
+
+
+ :param str compartment_id: (required)
+ The OCID of the compartment.
+
+ :param str boot_volume_id: (optional)
+ The OCID of the boot volume.
+
+ :param int limit: (optional)
+ The maximum number of items to return in a paginated \"List\" call.
+
+ Example: `500`
+
+ :param str page: (optional)
+ The value of the `opc-next-page` response header from the previous \"List\" call.
+
+ :param str display_name: (optional)
+ A filter to return only resources that match the given display name exactly.
+
+ :param str sort_by: (optional)
+ The field to sort by. You can provide one sort order (`sortOrder`). Default order for
+ TIMECREATED is descending. Default order for DISPLAYNAME is ascending. The DISPLAYNAME
+ sort order is case sensitive.
+
+ **Note:** In general, some \"List\" operations (for example, `ListInstances`) let you
+ optionally filter by Availability Domain if the scope of the resource type is within a
+ single Availability Domain. If you call one of these \"List\" operations without specifying
+ an Availability Domain, the resources are grouped by Availability Domain, then sorted.
+
+ Allowed values are: "TIMECREATED", "DISPLAYNAME"
+
+ :param str sort_order: (optional)
+ The sort order to use, either ascending (`ASC`) or descending (`DESC`). The DISPLAYNAME sort order
+ is case sensitive.
+
+ Allowed values are: "ASC", "DESC"
+
+ :param str lifecycle_state: (optional)
+ A filter to only return resources that match the given lifecycle state. The state value is case-insensitive.
+
+ Allowed values are: "CREATING", "AVAILABLE", "TERMINATING", "TERMINATED", "FAULTY", "REQUEST_RECEIVED"
+
+ :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 list of :class:`~oci.core.models.BootVolumeBackup`
+ :rtype: :class:`~oci.response.Response`
+ """
+ resource_path = "/bootVolumeBackups"
+ method = "GET"
+
+ # Don't accept unknown kwargs
+ expected_kwargs = [
+ "retry_strategy",
+ "boot_volume_id",
+ "limit",
+ "page",
+ "display_name",
+ "sort_by",
+ "sort_order",
+ "lifecycle_state"
+ ]
+ extra_kwargs = [key for key in six.iterkeys(kwargs) if key not in expected_kwargs]
+ if extra_kwargs:
+ raise ValueError(
+ "list_boot_volume_backups got unknown kwargs: {!r}".format(extra_kwargs))
+
+ if 'sort_by' in kwargs:
+ sort_by_allowed_values = ["TIMECREATED", "DISPLAYNAME"]
+ if kwargs['sort_by'] not in sort_by_allowed_values:
+ raise ValueError(
+ "Invalid value for `sort_by`, must be one of {0}".format(sort_by_allowed_values)
+ )
+
+ if 'sort_order' in kwargs:
+ sort_order_allowed_values = ["ASC", "DESC"]
+ if kwargs['sort_order'] not in sort_order_allowed_values:
+ raise ValueError(
+ "Invalid value for `sort_order`, must be one of {0}".format(sort_order_allowed_values)
+ )
+
+ if 'lifecycle_state' in kwargs:
+ lifecycle_state_allowed_values = ["CREATING", "AVAILABLE", "TERMINATING", "TERMINATED", "FAULTY", "REQUEST_RECEIVED"]
+ if kwargs['lifecycle_state'] not in lifecycle_state_allowed_values:
+ raise ValueError(
+ "Invalid value for `lifecycle_state`, must be one of {0}".format(lifecycle_state_allowed_values)
+ )
+
+ query_params = {
+ "compartmentId": compartment_id,
+ "bootVolumeId": kwargs.get("boot_volume_id", missing),
+ "limit": kwargs.get("limit", missing),
+ "page": kwargs.get("page", missing),
+ "displayName": kwargs.get("display_name", missing),
+ "sortBy": kwargs.get("sort_by", missing),
+ "sortOrder": kwargs.get("sort_order", missing),
+ "lifecycleState": kwargs.get("lifecycle_state", 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"
+ }
+
+ 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,
+ query_params=query_params,
+ header_params=header_params,
+ response_type="list[BootVolumeBackup]")
+ else:
+ return self.base_client.call_api(
+ resource_path=resource_path,
+ method=method,
+ query_params=query_params,
+ header_params=header_params,
+ response_type="list[BootVolumeBackup]")
+
def list_boot_volumes(self, availability_domain, compartment_id, **kwargs):
"""
ListBootVolumes
@@ -1702,7 +2139,10 @@ def list_volume_backups(self, compartment_id, **kwargs):
def list_volume_group_backups(self, compartment_id, **kwargs):
"""
ListVolumeGroupBackups
- Lists the backups for volume groups in the specified compartment. You can filter the results by volume group.
+ Lists the volume group backups in the specified compartment. You can filter the results by volume group.
+ For more information, see `Volume Groups`__.
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/Block/Concepts/volumegroups.htm
:param str compartment_id: (required)
@@ -1822,7 +2262,10 @@ def list_volume_group_backups(self, compartment_id, **kwargs):
def list_volume_groups(self, compartment_id, **kwargs):
"""
ListVolumeGroups
- Lists the volume groups in the specified compartment and Availability Domain.
+ Lists the volume groups in the specified compartment and availability domain.
+ For more information, see `Volume Groups`__.
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/Block/Concepts/volumegroups.htm
:param str compartment_id: (required)
@@ -2176,6 +2619,87 @@ def update_boot_volume(self, boot_volume_id, update_boot_volume_details, **kwarg
body=update_boot_volume_details,
response_type="BootVolume")
+ def update_boot_volume_backup(self, boot_volume_backup_id, update_boot_volume_backup_details, **kwargs):
+ """
+ UpdateBootVolumeBackup
+ Updates the display name for the specified boot volume backup.
+ Avoid entering confidential information.
+
+
+ :param str boot_volume_backup_id: (required)
+ The OCID of the boot volume backup.
+
+ :param UpdateBootVolumeBackupDetails update_boot_volume_backup_details: (required)
+ Update boot volume backup fields
+
+ :param str if_match: (optional)
+ For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
+ parameter to the value of the etag from a previous GET or POST response for that resource. The resource
+ will be updated or deleted only if the etag you provide matches the resource's current etag value.
+
+ :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 :class:`~oci.core.models.BootVolumeBackup`
+ :rtype: :class:`~oci.response.Response`
+ """
+ resource_path = "/bootVolumeBackups/{bootVolumeBackupId}"
+ method = "PUT"
+
+ # Don't accept unknown kwargs
+ expected_kwargs = [
+ "retry_strategy",
+ "if_match"
+ ]
+ extra_kwargs = [key for key in six.iterkeys(kwargs) if key not in expected_kwargs]
+ if extra_kwargs:
+ raise ValueError(
+ "update_boot_volume_backup got unknown kwargs: {!r}".format(extra_kwargs))
+
+ path_params = {
+ "bootVolumeBackupId": boot_volume_backup_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",
+ "if-match": kwargs.get("if_match", 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,
+ body=update_boot_volume_backup_details,
+ response_type="BootVolumeBackup")
+ else:
+ return self.base_client.call_api(
+ resource_path=resource_path,
+ method=method,
+ path_params=path_params,
+ header_params=header_params,
+ body=update_boot_volume_backup_details,
+ response_type="BootVolumeBackup")
+
def update_volume(self, volume_id, update_volume_details, **kwargs):
"""
UpdateVolume
@@ -2341,10 +2865,15 @@ def update_volume_backup(self, volume_backup_id, update_volume_backup_details, *
def update_volume_group(self, volume_group_id, update_volume_group_details, **kwargs):
"""
UpdateVolumeGroup
- Updates the set of volumes in a volume group along with (optionally) it's display name. This call can be used
- to add or remove volumes in a volume group. The entire list of volume ids must be specified.
+ Updates the set of volumes in a volume group along with the display name. Use this operation
+ to add or remove volumes in a volume group. Specify the full list of volume IDs to include in the
+ volume group. If the volume ID is not specified in the call, it will be removed from the volume group.
Avoid entering confidential information.
+ For more information, see `Volume Groups`__.
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/Block/Concepts/volumegroups.htm
+
:param str volume_group_id: (required)
The Oracle Cloud ID (OCID) that uniquely identifies the volume group.
@@ -2423,7 +2952,9 @@ def update_volume_group(self, volume_group_id, update_volume_group_details, **kw
def update_volume_group_backup(self, volume_group_backup_id, update_volume_group_backup_details, **kwargs):
"""
UpdateVolumeGroupBackup
- Updates the display name for the specified volume group backup.
+ Updates the display name for the specified volume group backup. For more information, see `Volume Groups`__.
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/Block/Concepts/volumegroups.htm
:param str volume_group_backup_id: (required)
diff --git a/src/oci/core/blockstorage_client_composite_operations.py b/src/oci/core/blockstorage_client_composite_operations.py
index 707a6690fb..ff99160934 100644
--- a/src/oci/core/blockstorage_client_composite_operations.py
+++ b/src/oci/core/blockstorage_client_composite_operations.py
@@ -21,6 +21,82 @@ def __init__(self, client, **kwargs):
"""
self.client = client
+ def create_boot_volume_and_wait_for_state(self, create_boot_volume_details, wait_for_states=[], operation_kwargs={}, waiter_kwargs={}):
+ """
+ Calls :py:func:`~oci.core.BlockstorageClient.create_boot_volume` and waits for the :py:class:`~oci.core.models.BootVolume` acted upon
+ to enter the given state(s).
+
+ :param CreateBootVolumeDetails create_boot_volume_details: (required)
+ Request to create a new boot volume.
+
+ :param list[str] wait_for_states:
+ An array of states to wait on. These should be valid values for :py:attr:`~oci.core.models.BootVolume.lifecycle_state`
+
+ :param dict operation_kwargs:
+ A dictionary of keyword arguments to pass to :py:func:`~oci.core.BlockstorageClient.create_boot_volume`
+
+ :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.create_boot_volume(create_boot_volume_details, **operation_kwargs)
+ if not wait_for_states:
+ return operation_result
+
+ lowered_wait_for_states = [w.lower() for w in wait_for_states]
+ wait_for_resource_id = operation_result.data.id
+
+ try:
+ waiter_result = oci.wait_until(
+ self.client,
+ self.client.get_boot_volume(wait_for_resource_id),
+ evaluate_response=lambda r: getattr(r.data, 'lifecycle_state') and getattr(r.data, 'lifecycle_state').lower() in lowered_wait_for_states,
+ **waiter_kwargs
+ )
+ result_to_return = waiter_result
+
+ return result_to_return
+ except Exception as e:
+ raise oci.exceptions.CompositeOperationError(partial_results=[operation_result], cause=e)
+
+ def create_boot_volume_backup_and_wait_for_state(self, create_boot_volume_backup_details, wait_for_states=[], operation_kwargs={}, waiter_kwargs={}):
+ """
+ Calls :py:func:`~oci.core.BlockstorageClient.create_boot_volume_backup` and waits for the :py:class:`~oci.core.models.BootVolumeBackup` acted upon
+ to enter the given state(s).
+
+ :param CreateBootVolumeBackupDetails create_boot_volume_backup_details: (required)
+ Request to create a new backup of given boot volume.
+
+ :param list[str] wait_for_states:
+ An array of states to wait on. These should be valid values for :py:attr:`~oci.core.models.BootVolumeBackup.lifecycle_state`
+
+ :param dict operation_kwargs:
+ A dictionary of keyword arguments to pass to :py:func:`~oci.core.BlockstorageClient.create_boot_volume_backup`
+
+ :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.create_boot_volume_backup(create_boot_volume_backup_details, **operation_kwargs)
+ if not wait_for_states:
+ return operation_result
+
+ lowered_wait_for_states = [w.lower() for w in wait_for_states]
+ wait_for_resource_id = operation_result.data.id
+
+ try:
+ waiter_result = oci.wait_until(
+ self.client,
+ self.client.get_boot_volume_backup(wait_for_resource_id),
+ evaluate_response=lambda r: getattr(r.data, 'lifecycle_state') and getattr(r.data, 'lifecycle_state').lower() in lowered_wait_for_states,
+ **waiter_kwargs
+ )
+ result_to_return = waiter_result
+
+ return result_to_return
+ except Exception as e:
+ raise oci.exceptions.CompositeOperationError(partial_results=[operation_result], cause=e)
+
def create_volume_and_wait_for_state(self, create_volume_details, wait_for_states=[], operation_kwargs={}, waiter_kwargs={}):
"""
Calls :py:func:`~oci.core.BlockstorageClient.create_volume` and waits for the :py:class:`~oci.core.models.Volume` acted upon
@@ -212,6 +288,45 @@ def delete_boot_volume_and_wait_for_state(self, boot_volume_id, wait_for_states=
except Exception as e:
raise oci.exceptions.CompositeOperationError(partial_results=[operation_result], cause=e)
+ def delete_boot_volume_backup_and_wait_for_state(self, boot_volume_backup_id, wait_for_states=[], operation_kwargs={}, waiter_kwargs={}):
+ """
+ Calls :py:func:`~oci.core.BlockstorageClient.delete_boot_volume_backup` and waits for the :py:class:`~oci.core.models.BootVolumeBackup` acted upon
+ to enter the given state(s).
+
+ :param str boot_volume_backup_id: (required)
+ The OCID of the boot volume backup.
+
+ :param list[str] wait_for_states:
+ An array of states to wait on. These should be valid values for :py:attr:`~oci.core.models.BootVolumeBackup.lifecycle_state`
+
+ :param dict operation_kwargs:
+ A dictionary of keyword arguments to pass to :py:func:`~oci.core.BlockstorageClient.delete_boot_volume_backup`
+
+ :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
+ """
+ initial_get_result = self.client.get_boot_volume_backup(boot_volume_backup_id)
+ operation_result = self.client.delete_boot_volume_backup(boot_volume_backup_id, **operation_kwargs)
+ if not wait_for_states:
+ return operation_result
+
+ lowered_wait_for_states = [w.lower() for w in wait_for_states]
+
+ try:
+ waiter_result = oci.wait_until(
+ self.client,
+ initial_get_result,
+ evaluate_response=lambda r: getattr(r.data, 'lifecycle_state') and getattr(r.data, 'lifecycle_state').lower() in lowered_wait_for_states,
+ succeed_on_not_found=True,
+ **waiter_kwargs
+ )
+ result_to_return = waiter_result
+
+ return result_to_return
+ except Exception as e:
+ raise oci.exceptions.CompositeOperationError(partial_results=[operation_result], cause=e)
+
def delete_volume_and_wait_for_state(self, volume_id, wait_for_states=[], operation_kwargs={}, waiter_kwargs={}):
"""
Calls :py:func:`~oci.core.BlockstorageClient.delete_volume` and waits for the :py:class:`~oci.core.models.Volume` acted upon
@@ -409,6 +524,47 @@ def update_boot_volume_and_wait_for_state(self, boot_volume_id, update_boot_volu
except Exception as e:
raise oci.exceptions.CompositeOperationError(partial_results=[operation_result], cause=e)
+ def update_boot_volume_backup_and_wait_for_state(self, boot_volume_backup_id, update_boot_volume_backup_details, wait_for_states=[], operation_kwargs={}, waiter_kwargs={}):
+ """
+ Calls :py:func:`~oci.core.BlockstorageClient.update_boot_volume_backup` and waits for the :py:class:`~oci.core.models.BootVolumeBackup` acted upon
+ to enter the given state(s).
+
+ :param str boot_volume_backup_id: (required)
+ The OCID of the boot volume backup.
+
+ :param UpdateBootVolumeBackupDetails update_boot_volume_backup_details: (required)
+ Update boot volume backup fields
+
+ :param list[str] wait_for_states:
+ An array of states to wait on. These should be valid values for :py:attr:`~oci.core.models.BootVolumeBackup.lifecycle_state`
+
+ :param dict operation_kwargs:
+ A dictionary of keyword arguments to pass to :py:func:`~oci.core.BlockstorageClient.update_boot_volume_backup`
+
+ :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.update_boot_volume_backup(boot_volume_backup_id, update_boot_volume_backup_details, **operation_kwargs)
+ if not wait_for_states:
+ return operation_result
+
+ lowered_wait_for_states = [w.lower() for w in wait_for_states]
+ wait_for_resource_id = operation_result.data.id
+
+ try:
+ waiter_result = oci.wait_until(
+ self.client,
+ self.client.get_boot_volume_backup(wait_for_resource_id),
+ evaluate_response=lambda r: getattr(r.data, 'lifecycle_state') and getattr(r.data, 'lifecycle_state').lower() in lowered_wait_for_states,
+ **waiter_kwargs
+ )
+ result_to_return = waiter_result
+
+ return result_to_return
+ except Exception as e:
+ raise oci.exceptions.CompositeOperationError(partial_results=[operation_result], cause=e)
+
def update_volume_and_wait_for_state(self, volume_id, update_volume_details, wait_for_states=[], operation_kwargs={}, waiter_kwargs={}):
"""
Calls :py:func:`~oci.core.BlockstorageClient.update_volume` and waits for the :py:class:`~oci.core.models.Volume` acted upon
diff --git a/src/oci/core/compute_client.py b/src/oci/core/compute_client.py
index 64b806c4de..53ab833ae8 100644
--- a/src/oci/core/compute_client.py
+++ b/src/oci/core/compute_client.py
@@ -1708,18 +1708,17 @@ def get_windows_instance_initial_credentials(self, instance_id, **kwargs):
def instance_action(self, instance_id, action, **kwargs):
"""
InstanceAction
- Performs one of the power actions (start, stop, softreset, softstop, or reset)
- on the specified instance.
+ Performs one of the following power actions on the specified instance:
- **start** - power on
+ - **START** - Powers on the instance.
- **stop** - power off
+ - **STOP** - Powers off the instance.
- **softreset** - ACPI shutdown and power on
+ - **SOFTRESET** - Gracefully reboots instance by sending a shutdown command to the operating system and then powers the instance back on.
- **softstop** - signal the instance operating system to shutdown gracefully
+ - **SOFTSTOP** - Gracefully shuts down instance by sending a shutdown command to the operating system.
- **reset** - power off and power on
+ - **RESET** - Powers off the instance and then powers it back on.
For more information see `Stopping and Starting an Instance`__.
diff --git a/src/oci/core/models/__init__.py b/src/oci/core/models/__init__.py
index c60739e444..590692e9ad 100644
--- a/src/oci/core/models/__init__.py
+++ b/src/oci/core/models/__init__.py
@@ -10,6 +10,10 @@
from .attach_volume_details import AttachVolumeDetails
from .boot_volume import BootVolume
from .boot_volume_attachment import BootVolumeAttachment
+from .boot_volume_backup import BootVolumeBackup
+from .boot_volume_source_details import BootVolumeSourceDetails
+from .boot_volume_source_from_boot_volume_backup_details import BootVolumeSourceFromBootVolumeBackupDetails
+from .boot_volume_source_from_boot_volume_details import BootVolumeSourceFromBootVolumeDetails
from .bulk_add_virtual_circuit_public_prefixes_details import BulkAddVirtualCircuitPublicPrefixesDetails
from .bulk_delete_virtual_circuit_public_prefixes_details import BulkDeleteVirtualCircuitPublicPrefixesDetails
from .capture_console_history_details import CaptureConsoleHistoryDetails
@@ -17,6 +21,8 @@
from .connect_remote_peering_connections_details import ConnectRemotePeeringConnectionsDetails
from .console_history import ConsoleHistory
from .cpe import Cpe
+from .create_boot_volume_backup_details import CreateBootVolumeBackupDetails
+from .create_boot_volume_details import CreateBootVolumeDetails
from .create_cpe_details import CreateCpeDetails
from .create_cross_connect_details import CreateCrossConnectDetails
from .create_cross_connect_group_details import CreateCrossConnectGroupDetails
@@ -33,6 +39,7 @@
from .create_remote_peering_connection_details import CreateRemotePeeringConnectionDetails
from .create_route_table_details import CreateRouteTableDetails
from .create_security_list_details import CreateSecurityListDetails
+from .create_service_gateway_details import CreateServiceGatewayDetails
from .create_subnet_details import CreateSubnetDetails
from .create_vcn_details import CreateVcnDetails
from .create_virtual_circuit_details import CreateVirtualCircuitDetails
@@ -93,12 +100,17 @@
from .route_rule import RouteRule
from .route_table import RouteTable
from .security_list import SecurityList
+from .service import Service
+from .service_gateway import ServiceGateway
+from .service_id_request_details import ServiceIdRequestDetails
+from .service_id_response_details import ServiceIdResponseDetails
from .shape import Shape
from .subnet import Subnet
from .tcp_options import TcpOptions
from .tunnel_config import TunnelConfig
from .tunnel_status import TunnelStatus
from .udp_options import UdpOptions
+from .update_boot_volume_backup_details import UpdateBootVolumeBackupDetails
from .update_boot_volume_details import UpdateBootVolumeDetails
from .update_console_history_details import UpdateConsoleHistoryDetails
from .update_cpe_details import UpdateCpeDetails
@@ -117,6 +129,7 @@
from .update_remote_peering_connection_details import UpdateRemotePeeringConnectionDetails
from .update_route_table_details import UpdateRouteTableDetails
from .update_security_list_details import UpdateSecurityListDetails
+from .update_service_gateway_details import UpdateServiceGatewayDetails
from .update_subnet_details import UpdateSubnetDetails
from .update_vcn_details import UpdateVcnDetails
from .update_virtual_circuit_details import UpdateVirtualCircuitDetails
@@ -156,6 +169,10 @@
"AttachVolumeDetails": AttachVolumeDetails,
"BootVolume": BootVolume,
"BootVolumeAttachment": BootVolumeAttachment,
+ "BootVolumeBackup": BootVolumeBackup,
+ "BootVolumeSourceDetails": BootVolumeSourceDetails,
+ "BootVolumeSourceFromBootVolumeBackupDetails": BootVolumeSourceFromBootVolumeBackupDetails,
+ "BootVolumeSourceFromBootVolumeDetails": BootVolumeSourceFromBootVolumeDetails,
"BulkAddVirtualCircuitPublicPrefixesDetails": BulkAddVirtualCircuitPublicPrefixesDetails,
"BulkDeleteVirtualCircuitPublicPrefixesDetails": BulkDeleteVirtualCircuitPublicPrefixesDetails,
"CaptureConsoleHistoryDetails": CaptureConsoleHistoryDetails,
@@ -163,6 +180,8 @@
"ConnectRemotePeeringConnectionsDetails": ConnectRemotePeeringConnectionsDetails,
"ConsoleHistory": ConsoleHistory,
"Cpe": Cpe,
+ "CreateBootVolumeBackupDetails": CreateBootVolumeBackupDetails,
+ "CreateBootVolumeDetails": CreateBootVolumeDetails,
"CreateCpeDetails": CreateCpeDetails,
"CreateCrossConnectDetails": CreateCrossConnectDetails,
"CreateCrossConnectGroupDetails": CreateCrossConnectGroupDetails,
@@ -179,6 +198,7 @@
"CreateRemotePeeringConnectionDetails": CreateRemotePeeringConnectionDetails,
"CreateRouteTableDetails": CreateRouteTableDetails,
"CreateSecurityListDetails": CreateSecurityListDetails,
+ "CreateServiceGatewayDetails": CreateServiceGatewayDetails,
"CreateSubnetDetails": CreateSubnetDetails,
"CreateVcnDetails": CreateVcnDetails,
"CreateVirtualCircuitDetails": CreateVirtualCircuitDetails,
@@ -239,12 +259,17 @@
"RouteRule": RouteRule,
"RouteTable": RouteTable,
"SecurityList": SecurityList,
+ "Service": Service,
+ "ServiceGateway": ServiceGateway,
+ "ServiceIdRequestDetails": ServiceIdRequestDetails,
+ "ServiceIdResponseDetails": ServiceIdResponseDetails,
"Shape": Shape,
"Subnet": Subnet,
"TcpOptions": TcpOptions,
"TunnelConfig": TunnelConfig,
"TunnelStatus": TunnelStatus,
"UdpOptions": UdpOptions,
+ "UpdateBootVolumeBackupDetails": UpdateBootVolumeBackupDetails,
"UpdateBootVolumeDetails": UpdateBootVolumeDetails,
"UpdateConsoleHistoryDetails": UpdateConsoleHistoryDetails,
"UpdateCpeDetails": UpdateCpeDetails,
@@ -263,6 +288,7 @@
"UpdateRemotePeeringConnectionDetails": UpdateRemotePeeringConnectionDetails,
"UpdateRouteTableDetails": UpdateRouteTableDetails,
"UpdateSecurityListDetails": UpdateSecurityListDetails,
+ "UpdateServiceGatewayDetails": UpdateServiceGatewayDetails,
"UpdateSubnetDetails": UpdateSubnetDetails,
"UpdateVcnDetails": UpdateVcnDetails,
"UpdateVirtualCircuitDetails": UpdateVirtualCircuitDetails,
diff --git a/src/oci/core/models/boot_volume.py b/src/oci/core/models/boot_volume.py
index 97bdcb50f0..99501a9ed7 100644
--- a/src/oci/core/models/boot_volume.py
+++ b/src/oci/core/models/boot_volume.py
@@ -57,10 +57,18 @@ def __init__(self, **kwargs):
The value to assign to the compartment_id property of this BootVolume.
:type compartment_id: str
+ :param defined_tags:
+ The value to assign to the defined_tags property of this BootVolume.
+ :type defined_tags: dict(str, dict(str, object))
+
:param display_name:
The value to assign to the display_name property of this BootVolume.
:type display_name: str
+ :param freeform_tags:
+ The value to assign to the freeform_tags property of this BootVolume.
+ :type freeform_tags: dict(str, str)
+
:param id:
The value to assign to the id property of this BootVolume.
:type id: str
@@ -69,6 +77,10 @@ def __init__(self, **kwargs):
The value to assign to the image_id property of this BootVolume.
:type image_id: str
+ :param is_hydrated:
+ The value to assign to the is_hydrated property of this BootVolume.
+ :type is_hydrated: bool
+
: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'.
@@ -83,6 +95,10 @@ def __init__(self, **kwargs):
The value to assign to the size_in_mbs property of this BootVolume.
:type size_in_mbs: int
+ :param source_details:
+ The value to assign to the source_details property of this BootVolume.
+ :type source_details: BootVolumeSourceDetails
+
:param time_created:
The value to assign to the time_created property of this BootVolume.
:type time_created: datetime
@@ -95,12 +111,16 @@ def __init__(self, **kwargs):
self.swagger_types = {
'availability_domain': 'str',
'compartment_id': 'str',
+ 'defined_tags': 'dict(str, dict(str, object))',
'display_name': 'str',
+ 'freeform_tags': 'dict(str, str)',
'id': 'str',
'image_id': 'str',
+ 'is_hydrated': 'bool',
'lifecycle_state': 'str',
'size_in_gbs': 'int',
'size_in_mbs': 'int',
+ 'source_details': 'BootVolumeSourceDetails',
'time_created': 'datetime',
'volume_group_id': 'str'
}
@@ -108,24 +128,32 @@ def __init__(self, **kwargs):
self.attribute_map = {
'availability_domain': 'availabilityDomain',
'compartment_id': 'compartmentId',
+ 'defined_tags': 'definedTags',
'display_name': 'displayName',
+ 'freeform_tags': 'freeformTags',
'id': 'id',
'image_id': 'imageId',
+ 'is_hydrated': 'isHydrated',
'lifecycle_state': 'lifecycleState',
'size_in_gbs': 'sizeInGBs',
'size_in_mbs': 'sizeInMBs',
+ 'source_details': 'sourceDetails',
'time_created': 'timeCreated',
'volume_group_id': 'volumeGroupId'
}
self._availability_domain = None
self._compartment_id = None
+ self._defined_tags = None
self._display_name = None
+ self._freeform_tags = None
self._id = None
self._image_id = None
+ self._is_hydrated = None
self._lifecycle_state = None
self._size_in_gbs = None
self._size_in_mbs = None
+ self._source_details = None
self._time_created = None
self._volume_group_id = None
@@ -181,6 +209,40 @@ def compartment_id(self, compartment_id):
"""
self._compartment_id = compartment_id
+ @property
+ def defined_tags(self):
+ """
+ Gets the defined_tags of this BootVolume.
+ Defined tags for this resource. Each key is predefined and scoped to a namespace.
+ For more information, see `Resource Tags`__.
+
+ Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm
+
+
+ :return: The defined_tags of this BootVolume.
+ :rtype: dict(str, dict(str, object))
+ """
+ return self._defined_tags
+
+ @defined_tags.setter
+ def defined_tags(self, defined_tags):
+ """
+ Sets the defined_tags of this BootVolume.
+ Defined tags for this resource. Each key is predefined and scoped to a namespace.
+ For more information, see `Resource Tags`__.
+
+ Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm
+
+
+ :param defined_tags: The defined_tags of this BootVolume.
+ :type: dict(str, dict(str, object))
+ """
+ self._defined_tags = defined_tags
+
@property
def display_name(self):
"""
@@ -207,6 +269,42 @@ def display_name(self, display_name):
"""
self._display_name = display_name
+ @property
+ def freeform_tags(self):
+ """
+ Gets the freeform_tags of this BootVolume.
+ Free-form tags for this resource. Each tag is a simple key-value pair with no
+ predefined name, type, or namespace. For more information, see
+ `Resource Tags`__.
+
+ Example: `{\"Department\": \"Finance\"}`
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm
+
+
+ :return: The freeform_tags of this BootVolume.
+ :rtype: dict(str, str)
+ """
+ return self._freeform_tags
+
+ @freeform_tags.setter
+ def freeform_tags(self, freeform_tags):
+ """
+ Sets the freeform_tags of this BootVolume.
+ Free-form tags for this resource. Each tag is a simple key-value pair with no
+ predefined name, type, or namespace. For more information, see
+ `Resource Tags`__.
+
+ Example: `{\"Department\": \"Finance\"}`
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm
+
+
+ :param freeform_tags: The freeform_tags of this BootVolume.
+ :type: dict(str, str)
+ """
+ self._freeform_tags = freeform_tags
+
@property
def id(self):
"""
@@ -255,6 +353,30 @@ def image_id(self, image_id):
"""
self._image_id = image_id
+ @property
+ def is_hydrated(self):
+ """
+ Gets the is_hydrated of this BootVolume.
+ Specifies whether the boot volume's data has finished copying from the source boot volume or boot volume backup.
+
+
+ :return: The is_hydrated of this BootVolume.
+ :rtype: bool
+ """
+ return self._is_hydrated
+
+ @is_hydrated.setter
+ def is_hydrated(self, is_hydrated):
+ """
+ Sets the is_hydrated of this BootVolume.
+ Specifies whether the boot volume's data has finished copying from the source boot volume or boot volume backup.
+
+
+ :param is_hydrated: The is_hydrated of this BootVolume.
+ :type: bool
+ """
+ self._is_hydrated = is_hydrated
+
@property
def lifecycle_state(self):
"""
@@ -335,6 +457,32 @@ def size_in_mbs(self, size_in_mbs):
"""
self._size_in_mbs = size_in_mbs
+ @property
+ def source_details(self):
+ """
+ Gets the source_details of this BootVolume.
+ The boot volume source, either an existing boot volume in the same Availability Domain or a boot volume backup.
+ If null, this means that the boot volume was created from an image.
+
+
+ :return: The source_details of this BootVolume.
+ :rtype: BootVolumeSourceDetails
+ """
+ return self._source_details
+
+ @source_details.setter
+ def source_details(self, source_details):
+ """
+ Sets the source_details of this BootVolume.
+ The boot volume source, either an existing boot volume in the same Availability Domain or a boot volume backup.
+ If null, this means that the boot volume was created from an image.
+
+
+ :param source_details: The source_details of this BootVolume.
+ :type: BootVolumeSourceDetails
+ """
+ self._source_details = source_details
+
@property
def time_created(self):
"""
diff --git a/src/oci/core/models/boot_volume_backup.py b/src/oci/core/models/boot_volume_backup.py
new file mode 100644
index 0000000000..471549ff8b
--- /dev/null
+++ b/src/oci/core/models/boot_volume_backup.py
@@ -0,0 +1,612 @@
+# coding: utf-8
+# Copyright (c) 2016, 2018, 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 BootVolumeBackup(object):
+ """
+ A point-in-time copy of a boot volume that can then be used to create
+ a new boot volume or recover a boot volume. For more information, see `Overview
+ of Boot Volume Backups`__
+ To use any of the API operations, you must be authorized in an IAM policy.
+ If you're not authorized, talk to an administrator. If you're an administrator
+ who needs to write policies to give users access, see `Getting Started with
+ Policies`__.
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/Block/Concepts/bootvolumebackups.htm
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/policygetstarted.htm
+ """
+
+ #: A constant which can be used with the lifecycle_state property of a BootVolumeBackup.
+ #: This constant has a value of "CREATING"
+ LIFECYCLE_STATE_CREATING = "CREATING"
+
+ #: A constant which can be used with the lifecycle_state property of a BootVolumeBackup.
+ #: This constant has a value of "AVAILABLE"
+ LIFECYCLE_STATE_AVAILABLE = "AVAILABLE"
+
+ #: A constant which can be used with the lifecycle_state property of a BootVolumeBackup.
+ #: This constant has a value of "TERMINATING"
+ LIFECYCLE_STATE_TERMINATING = "TERMINATING"
+
+ #: A constant which can be used with the lifecycle_state property of a BootVolumeBackup.
+ #: This constant has a value of "TERMINATED"
+ LIFECYCLE_STATE_TERMINATED = "TERMINATED"
+
+ #: A constant which can be used with the lifecycle_state property of a BootVolumeBackup.
+ #: This constant has a value of "FAULTY"
+ LIFECYCLE_STATE_FAULTY = "FAULTY"
+
+ #: A constant which can be used with the lifecycle_state property of a BootVolumeBackup.
+ #: This constant has a value of "REQUEST_RECEIVED"
+ LIFECYCLE_STATE_REQUEST_RECEIVED = "REQUEST_RECEIVED"
+
+ #: A constant which can be used with the source_type property of a BootVolumeBackup.
+ #: This constant has a value of "MANUAL"
+ SOURCE_TYPE_MANUAL = "MANUAL"
+
+ #: A constant which can be used with the source_type property of a BootVolumeBackup.
+ #: This constant has a value of "SCHEDULED"
+ SOURCE_TYPE_SCHEDULED = "SCHEDULED"
+
+ #: A constant which can be used with the type property of a BootVolumeBackup.
+ #: This constant has a value of "FULL"
+ TYPE_FULL = "FULL"
+
+ #: A constant which can be used with the type property of a BootVolumeBackup.
+ #: This constant has a value of "INCREMENTAL"
+ TYPE_INCREMENTAL = "INCREMENTAL"
+
+ def __init__(self, **kwargs):
+ """
+ Initializes a new BootVolumeBackup object with values from keyword arguments.
+ The following keyword arguments are supported (corresponding to the getters/setters of this class):
+
+ :param boot_volume_id:
+ The value to assign to the boot_volume_id property of this BootVolumeBackup.
+ :type boot_volume_id: str
+
+ :param compartment_id:
+ The value to assign to the compartment_id property of this BootVolumeBackup.
+ :type compartment_id: str
+
+ :param defined_tags:
+ The value to assign to the defined_tags property of this BootVolumeBackup.
+ :type defined_tags: dict(str, dict(str, object))
+
+ :param display_name:
+ The value to assign to the display_name property of this BootVolumeBackup.
+ :type display_name: str
+
+ :param expiration_time:
+ The value to assign to the expiration_time property of this BootVolumeBackup.
+ :type expiration_time: datetime
+
+ :param freeform_tags:
+ The value to assign to the freeform_tags property of this BootVolumeBackup.
+ :type freeform_tags: dict(str, str)
+
+ :param id:
+ The value to assign to the id property of this BootVolumeBackup.
+ :type id: str
+
+ :param image_id:
+ The value to assign to the image_id property of this BootVolumeBackup.
+ :type image_id: str
+
+ :param lifecycle_state:
+ The value to assign to the lifecycle_state property of this BootVolumeBackup.
+ Allowed values for this property are: "CREATING", "AVAILABLE", "TERMINATING", "TERMINATED", "FAULTY", "REQUEST_RECEIVED", 'UNKNOWN_ENUM_VALUE'.
+ Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
+ :type lifecycle_state: str
+
+ :param size_in_gbs:
+ The value to assign to the size_in_gbs property of this BootVolumeBackup.
+ :type size_in_gbs: int
+
+ :param source_type:
+ The value to assign to the source_type property of this BootVolumeBackup.
+ Allowed values for this property are: "MANUAL", "SCHEDULED", 'UNKNOWN_ENUM_VALUE'.
+ Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
+ :type source_type: str
+
+ :param time_created:
+ The value to assign to the time_created property of this BootVolumeBackup.
+ :type time_created: datetime
+
+ :param time_request_received:
+ The value to assign to the time_request_received property of this BootVolumeBackup.
+ :type time_request_received: datetime
+
+ :param type:
+ The value to assign to the type property of this BootVolumeBackup.
+ Allowed values for this property are: "FULL", "INCREMENTAL", 'UNKNOWN_ENUM_VALUE'.
+ Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
+ :type type: str
+
+ :param unique_size_in_gbs:
+ The value to assign to the unique_size_in_gbs property of this BootVolumeBackup.
+ :type unique_size_in_gbs: int
+
+ """
+ self.swagger_types = {
+ 'boot_volume_id': 'str',
+ 'compartment_id': 'str',
+ 'defined_tags': 'dict(str, dict(str, object))',
+ 'display_name': 'str',
+ 'expiration_time': 'datetime',
+ 'freeform_tags': 'dict(str, str)',
+ 'id': 'str',
+ 'image_id': 'str',
+ 'lifecycle_state': 'str',
+ 'size_in_gbs': 'int',
+ 'source_type': 'str',
+ 'time_created': 'datetime',
+ 'time_request_received': 'datetime',
+ 'type': 'str',
+ 'unique_size_in_gbs': 'int'
+ }
+
+ self.attribute_map = {
+ 'boot_volume_id': 'bootVolumeId',
+ 'compartment_id': 'compartmentId',
+ 'defined_tags': 'definedTags',
+ 'display_name': 'displayName',
+ 'expiration_time': 'expirationTime',
+ 'freeform_tags': 'freeformTags',
+ 'id': 'id',
+ 'image_id': 'imageId',
+ 'lifecycle_state': 'lifecycleState',
+ 'size_in_gbs': 'sizeInGBs',
+ 'source_type': 'sourceType',
+ 'time_created': 'timeCreated',
+ 'time_request_received': 'timeRequestReceived',
+ 'type': 'type',
+ 'unique_size_in_gbs': 'uniqueSizeInGBs'
+ }
+
+ self._boot_volume_id = None
+ self._compartment_id = None
+ self._defined_tags = None
+ self._display_name = None
+ self._expiration_time = None
+ self._freeform_tags = None
+ self._id = None
+ self._image_id = None
+ self._lifecycle_state = None
+ self._size_in_gbs = None
+ self._source_type = None
+ self._time_created = None
+ self._time_request_received = None
+ self._type = None
+ self._unique_size_in_gbs = None
+
+ @property
+ def boot_volume_id(self):
+ """
+ Gets the boot_volume_id of this BootVolumeBackup.
+ The OCID of the boot volume.
+
+
+ :return: The boot_volume_id of this BootVolumeBackup.
+ :rtype: str
+ """
+ return self._boot_volume_id
+
+ @boot_volume_id.setter
+ def boot_volume_id(self, boot_volume_id):
+ """
+ Sets the boot_volume_id of this BootVolumeBackup.
+ The OCID of the boot volume.
+
+
+ :param boot_volume_id: The boot_volume_id of this BootVolumeBackup.
+ :type: str
+ """
+ self._boot_volume_id = boot_volume_id
+
+ @property
+ def compartment_id(self):
+ """
+ **[Required]** Gets the compartment_id of this BootVolumeBackup.
+ The OCID of the compartment that contains the boot volume backup.
+
+
+ :return: The compartment_id of this BootVolumeBackup.
+ :rtype: str
+ """
+ return self._compartment_id
+
+ @compartment_id.setter
+ def compartment_id(self, compartment_id):
+ """
+ Sets the compartment_id of this BootVolumeBackup.
+ The OCID of the compartment that contains the boot volume backup.
+
+
+ :param compartment_id: The compartment_id of this BootVolumeBackup.
+ :type: str
+ """
+ self._compartment_id = compartment_id
+
+ @property
+ def defined_tags(self):
+ """
+ Gets the defined_tags of this BootVolumeBackup.
+ Defined tags for this resource. Each key is predefined and scoped to a namespace.
+ For more information, see `Resource Tags`__.
+
+ Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm
+
+
+ :return: The defined_tags of this BootVolumeBackup.
+ :rtype: dict(str, dict(str, object))
+ """
+ return self._defined_tags
+
+ @defined_tags.setter
+ def defined_tags(self, defined_tags):
+ """
+ Sets the defined_tags of this BootVolumeBackup.
+ Defined tags for this resource. Each key is predefined and scoped to a namespace.
+ For more information, see `Resource Tags`__.
+
+ Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm
+
+
+ :param defined_tags: The defined_tags of this BootVolumeBackup.
+ :type: dict(str, dict(str, object))
+ """
+ self._defined_tags = defined_tags
+
+ @property
+ def display_name(self):
+ """
+ **[Required]** Gets the display_name of this BootVolumeBackup.
+ A user-friendly name for the boot volume backup. Does not have to be unique and it's changeable.
+ Avoid entering confidential information.
+
+
+ :return: The display_name of this BootVolumeBackup.
+ :rtype: str
+ """
+ return self._display_name
+
+ @display_name.setter
+ def display_name(self, display_name):
+ """
+ Sets the display_name of this BootVolumeBackup.
+ A user-friendly name for the boot volume backup. Does not have to be unique and it's changeable.
+ Avoid entering confidential information.
+
+
+ :param display_name: The display_name of this BootVolumeBackup.
+ :type: str
+ """
+ self._display_name = display_name
+
+ @property
+ def expiration_time(self):
+ """
+ Gets the expiration_time of this BootVolumeBackup.
+ The date and time the volume backup will expire and be automatically deleted.
+ Format defined by RFC3339. This parameter will always be present for backups that
+ were created automatically by a scheduled-backup policy. For manually created backups,
+ it will be absent, signifying that there is no expiration time and the backup will
+ last forever until manually deleted.
+
+
+ :return: The expiration_time of this BootVolumeBackup.
+ :rtype: datetime
+ """
+ return self._expiration_time
+
+ @expiration_time.setter
+ def expiration_time(self, expiration_time):
+ """
+ Sets the expiration_time of this BootVolumeBackup.
+ The date and time the volume backup will expire and be automatically deleted.
+ Format defined by RFC3339. This parameter will always be present for backups that
+ were created automatically by a scheduled-backup policy. For manually created backups,
+ it will be absent, signifying that there is no expiration time and the backup will
+ last forever until manually deleted.
+
+
+ :param expiration_time: The expiration_time of this BootVolumeBackup.
+ :type: datetime
+ """
+ self._expiration_time = expiration_time
+
+ @property
+ def freeform_tags(self):
+ """
+ Gets the freeform_tags of this BootVolumeBackup.
+ Free-form tags for this resource. Each tag is a simple key-value pair with no
+ predefined name, type, or namespace. For more information, see
+ `Resource Tags`__.
+
+ Example: `{\"Department\": \"Finance\"}`
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm
+
+
+ :return: The freeform_tags of this BootVolumeBackup.
+ :rtype: dict(str, str)
+ """
+ return self._freeform_tags
+
+ @freeform_tags.setter
+ def freeform_tags(self, freeform_tags):
+ """
+ Sets the freeform_tags of this BootVolumeBackup.
+ Free-form tags for this resource. Each tag is a simple key-value pair with no
+ predefined name, type, or namespace. For more information, see
+ `Resource Tags`__.
+
+ Example: `{\"Department\": \"Finance\"}`
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm
+
+
+ :param freeform_tags: The freeform_tags of this BootVolumeBackup.
+ :type: dict(str, str)
+ """
+ self._freeform_tags = freeform_tags
+
+ @property
+ def id(self):
+ """
+ **[Required]** Gets the id of this BootVolumeBackup.
+ The OCID of the boot volume backup.
+
+
+ :return: The id of this BootVolumeBackup.
+ :rtype: str
+ """
+ return self._id
+
+ @id.setter
+ def id(self, id):
+ """
+ Sets the id of this BootVolumeBackup.
+ The OCID of the boot volume backup.
+
+
+ :param id: The id of this BootVolumeBackup.
+ :type: str
+ """
+ self._id = id
+
+ @property
+ def image_id(self):
+ """
+ Gets the image_id of this BootVolumeBackup.
+ The image OCID used to create the boot volume the backup is taken from.
+
+
+ :return: The image_id of this BootVolumeBackup.
+ :rtype: str
+ """
+ return self._image_id
+
+ @image_id.setter
+ def image_id(self, image_id):
+ """
+ Sets the image_id of this BootVolumeBackup.
+ The image OCID used to create the boot volume the backup is taken from.
+
+
+ :param image_id: The image_id of this BootVolumeBackup.
+ :type: str
+ """
+ self._image_id = image_id
+
+ @property
+ def lifecycle_state(self):
+ """
+ **[Required]** Gets the lifecycle_state of this BootVolumeBackup.
+ The current state of a boot volume backup.
+
+ Allowed values for this property are: "CREATING", "AVAILABLE", "TERMINATING", "TERMINATED", "FAULTY", "REQUEST_RECEIVED", 'UNKNOWN_ENUM_VALUE'.
+ Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
+
+
+ :return: The lifecycle_state of this BootVolumeBackup.
+ :rtype: str
+ """
+ return self._lifecycle_state
+
+ @lifecycle_state.setter
+ def lifecycle_state(self, lifecycle_state):
+ """
+ Sets the lifecycle_state of this BootVolumeBackup.
+ The current state of a boot volume backup.
+
+
+ :param lifecycle_state: The lifecycle_state of this BootVolumeBackup.
+ :type: str
+ """
+ allowed_values = ["CREATING", "AVAILABLE", "TERMINATING", "TERMINATED", "FAULTY", "REQUEST_RECEIVED"]
+ if not value_allowed_none_or_none_sentinel(lifecycle_state, allowed_values):
+ lifecycle_state = 'UNKNOWN_ENUM_VALUE'
+ self._lifecycle_state = lifecycle_state
+
+ @property
+ def size_in_gbs(self):
+ """
+ Gets the size_in_gbs of this BootVolumeBackup.
+ The size of the boot volume, in GBs.
+
+
+ :return: The size_in_gbs of this BootVolumeBackup.
+ :rtype: int
+ """
+ return self._size_in_gbs
+
+ @size_in_gbs.setter
+ def size_in_gbs(self, size_in_gbs):
+ """
+ Sets the size_in_gbs of this BootVolumeBackup.
+ The size of the boot volume, in GBs.
+
+
+ :param size_in_gbs: The size_in_gbs of this BootVolumeBackup.
+ :type: int
+ """
+ self._size_in_gbs = size_in_gbs
+
+ @property
+ def source_type(self):
+ """
+ Gets the source_type of this BootVolumeBackup.
+ Specifies whether the backup was created manually, or via scheduled backup policy.
+
+ Allowed values for this property are: "MANUAL", "SCHEDULED", 'UNKNOWN_ENUM_VALUE'.
+ Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
+
+
+ :return: The source_type of this BootVolumeBackup.
+ :rtype: str
+ """
+ return self._source_type
+
+ @source_type.setter
+ def source_type(self, source_type):
+ """
+ Sets the source_type of this BootVolumeBackup.
+ Specifies whether the backup was created manually, or via scheduled backup policy.
+
+
+ :param source_type: The source_type of this BootVolumeBackup.
+ :type: str
+ """
+ allowed_values = ["MANUAL", "SCHEDULED"]
+ if not value_allowed_none_or_none_sentinel(source_type, allowed_values):
+ source_type = 'UNKNOWN_ENUM_VALUE'
+ self._source_type = source_type
+
+ @property
+ def time_created(self):
+ """
+ **[Required]** Gets the time_created of this BootVolumeBackup.
+ The date and time the boot volume backup was created. This is the time the actual point-in-time image
+ of the volume data was taken. Format defined by RFC3339.
+
+
+ :return: The time_created of this BootVolumeBackup.
+ :rtype: datetime
+ """
+ return self._time_created
+
+ @time_created.setter
+ def time_created(self, time_created):
+ """
+ Sets the time_created of this BootVolumeBackup.
+ The date and time the boot volume backup was created. This is the time the actual point-in-time image
+ of the volume data was taken. Format defined by RFC3339.
+
+
+ :param time_created: The time_created of this BootVolumeBackup.
+ :type: datetime
+ """
+ self._time_created = time_created
+
+ @property
+ def time_request_received(self):
+ """
+ Gets the time_request_received of this BootVolumeBackup.
+ The date and time the request to create the boot volume backup was received. Format defined by RFC3339.
+
+
+ :return: The time_request_received of this BootVolumeBackup.
+ :rtype: datetime
+ """
+ return self._time_request_received
+
+ @time_request_received.setter
+ def time_request_received(self, time_request_received):
+ """
+ Sets the time_request_received of this BootVolumeBackup.
+ The date and time the request to create the boot volume backup was received. Format defined by RFC3339.
+
+
+ :param time_request_received: The time_request_received of this BootVolumeBackup.
+ :type: datetime
+ """
+ self._time_request_received = time_request_received
+
+ @property
+ def type(self):
+ """
+ Gets the type of this BootVolumeBackup.
+ The type of a volume backup.
+
+ Allowed values for this property are: "FULL", "INCREMENTAL", 'UNKNOWN_ENUM_VALUE'.
+ Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
+
+
+ :return: The type of this BootVolumeBackup.
+ :rtype: str
+ """
+ return self._type
+
+ @type.setter
+ def type(self, type):
+ """
+ Sets the type of this BootVolumeBackup.
+ The type of a volume backup.
+
+
+ :param type: The type of this BootVolumeBackup.
+ :type: str
+ """
+ allowed_values = ["FULL", "INCREMENTAL"]
+ if not value_allowed_none_or_none_sentinel(type, allowed_values):
+ type = 'UNKNOWN_ENUM_VALUE'
+ self._type = type
+
+ @property
+ def unique_size_in_gbs(self):
+ """
+ Gets the unique_size_in_gbs of this BootVolumeBackup.
+ The size used by the backup, in GBs. It is typically smaller than sizeInGBs, depending on the space
+ consumed on the boot volume and whether the backup is full or incremental.
+
+
+ :return: The unique_size_in_gbs of this BootVolumeBackup.
+ :rtype: int
+ """
+ return self._unique_size_in_gbs
+
+ @unique_size_in_gbs.setter
+ def unique_size_in_gbs(self, unique_size_in_gbs):
+ """
+ Sets the unique_size_in_gbs of this BootVolumeBackup.
+ The size used by the backup, in GBs. It is typically smaller than sizeInGBs, depending on the space
+ consumed on the boot volume and whether the backup is full or incremental.
+
+
+ :param unique_size_in_gbs: The unique_size_in_gbs of this BootVolumeBackup.
+ :type: int
+ """
+ self._unique_size_in_gbs = unique_size_in_gbs
+
+ 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/core/models/boot_volume_source_details.py b/src/oci/core/models/boot_volume_source_details.py
new file mode 100644
index 0000000000..88e7a6643b
--- /dev/null
+++ b/src/oci/core/models/boot_volume_source_details.py
@@ -0,0 +1,86 @@
+# coding: utf-8
+# Copyright (c) 2016, 2018, 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 BootVolumeSourceDetails(object):
+ """
+ BootVolumeSourceDetails model.
+ """
+
+ def __init__(self, **kwargs):
+ """
+ Initializes a new BootVolumeSourceDetails 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.core.models.BootVolumeSourceFromBootVolumeBackupDetails`
+ * :class:`~oci.core.models.BootVolumeSourceFromBootVolumeDetails`
+
+ The following keyword arguments are supported (corresponding to the getters/setters of this class):
+
+ :param type:
+ The value to assign to the type property of this BootVolumeSourceDetails.
+ :type type: str
+
+ """
+ self.swagger_types = {
+ 'type': 'str'
+ }
+
+ self.attribute_map = {
+ 'type': 'type'
+ }
+
+ self._type = None
+
+ @staticmethod
+ def get_subtype(object_dictionary):
+ """
+ Given the hash representation of a subtype of this class,
+ use the info in the hash to return the class of the subtype.
+ """
+ type = object_dictionary['type']
+
+ if type == 'bootVolumeBackup':
+ return 'BootVolumeSourceFromBootVolumeBackupDetails'
+
+ if type == 'bootVolume':
+ return 'BootVolumeSourceFromBootVolumeDetails'
+ else:
+ return 'BootVolumeSourceDetails'
+
+ @property
+ def type(self):
+ """
+ **[Required]** Gets the type of this BootVolumeSourceDetails.
+
+ :return: The type of this BootVolumeSourceDetails.
+ :rtype: str
+ """
+ return self._type
+
+ @type.setter
+ def type(self, type):
+ """
+ Sets the type of this BootVolumeSourceDetails.
+
+ :param type: The type of this BootVolumeSourceDetails.
+ :type: str
+ """
+ self._type = type
+
+ 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/core/models/boot_volume_source_from_boot_volume_backup_details.py b/src/oci/core/models/boot_volume_source_from_boot_volume_backup_details.py
new file mode 100644
index 0000000000..35d6a30bdd
--- /dev/null
+++ b/src/oci/core/models/boot_volume_source_from_boot_volume_backup_details.py
@@ -0,0 +1,78 @@
+# coding: utf-8
+# Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+
+from .boot_volume_source_details import BootVolumeSourceDetails
+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 BootVolumeSourceFromBootVolumeBackupDetails(BootVolumeSourceDetails):
+ """
+ Specifies the boot volume backup.
+ """
+
+ def __init__(self, **kwargs):
+ """
+ Initializes a new BootVolumeSourceFromBootVolumeBackupDetails object with values from keyword arguments. The default value of the :py:attr:`~oci.core.models.BootVolumeSourceFromBootVolumeBackupDetails.type` attribute
+ of this class is ``bootVolumeBackup`` and it should not be changed.
+ The following keyword arguments are supported (corresponding to the getters/setters of this class):
+
+ :param type:
+ The value to assign to the type property of this BootVolumeSourceFromBootVolumeBackupDetails.
+ :type type: str
+
+ :param id:
+ The value to assign to the id property of this BootVolumeSourceFromBootVolumeBackupDetails.
+ :type id: str
+
+ """
+ self.swagger_types = {
+ 'type': 'str',
+ 'id': 'str'
+ }
+
+ self.attribute_map = {
+ 'type': 'type',
+ 'id': 'id'
+ }
+
+ self._type = None
+ self._id = None
+ self._type = 'bootVolumeBackup'
+
+ @property
+ def id(self):
+ """
+ **[Required]** Gets the id of this BootVolumeSourceFromBootVolumeBackupDetails.
+ The OCID of the boot volume backup.
+
+
+ :return: The id of this BootVolumeSourceFromBootVolumeBackupDetails.
+ :rtype: str
+ """
+ return self._id
+
+ @id.setter
+ def id(self, id):
+ """
+ Sets the id of this BootVolumeSourceFromBootVolumeBackupDetails.
+ The OCID of the boot volume backup.
+
+
+ :param id: The id of this BootVolumeSourceFromBootVolumeBackupDetails.
+ :type: str
+ """
+ self._id = id
+
+ 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/core/models/boot_volume_source_from_boot_volume_details.py b/src/oci/core/models/boot_volume_source_from_boot_volume_details.py
new file mode 100644
index 0000000000..d26c37d30e
--- /dev/null
+++ b/src/oci/core/models/boot_volume_source_from_boot_volume_details.py
@@ -0,0 +1,78 @@
+# coding: utf-8
+# Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+
+from .boot_volume_source_details import BootVolumeSourceDetails
+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 BootVolumeSourceFromBootVolumeDetails(BootVolumeSourceDetails):
+ """
+ Specifies the source boot volume.
+ """
+
+ def __init__(self, **kwargs):
+ """
+ Initializes a new BootVolumeSourceFromBootVolumeDetails object with values from keyword arguments. The default value of the :py:attr:`~oci.core.models.BootVolumeSourceFromBootVolumeDetails.type` attribute
+ of this class is ``bootVolume`` and it should not be changed.
+ The following keyword arguments are supported (corresponding to the getters/setters of this class):
+
+ :param type:
+ The value to assign to the type property of this BootVolumeSourceFromBootVolumeDetails.
+ :type type: str
+
+ :param id:
+ The value to assign to the id property of this BootVolumeSourceFromBootVolumeDetails.
+ :type id: str
+
+ """
+ self.swagger_types = {
+ 'type': 'str',
+ 'id': 'str'
+ }
+
+ self.attribute_map = {
+ 'type': 'type',
+ 'id': 'id'
+ }
+
+ self._type = None
+ self._id = None
+ self._type = 'bootVolume'
+
+ @property
+ def id(self):
+ """
+ **[Required]** Gets the id of this BootVolumeSourceFromBootVolumeDetails.
+ The OCID of the boot volume.
+
+
+ :return: The id of this BootVolumeSourceFromBootVolumeDetails.
+ :rtype: str
+ """
+ return self._id
+
+ @id.setter
+ def id(self, id):
+ """
+ Sets the id of this BootVolumeSourceFromBootVolumeDetails.
+ The OCID of the boot volume.
+
+
+ :param id: The id of this BootVolumeSourceFromBootVolumeDetails.
+ :type: str
+ """
+ self._id = id
+
+ 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/core/models/create_boot_volume_backup_details.py b/src/oci/core/models/create_boot_volume_backup_details.py
new file mode 100644
index 0000000000..322fee1d32
--- /dev/null
+++ b/src/oci/core/models/create_boot_volume_backup_details.py
@@ -0,0 +1,234 @@
+# coding: utf-8
+# Copyright (c) 2016, 2018, 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 CreateBootVolumeBackupDetails(object):
+ """
+ CreateBootVolumeBackupDetails model.
+ """
+
+ #: A constant which can be used with the type property of a CreateBootVolumeBackupDetails.
+ #: This constant has a value of "FULL"
+ TYPE_FULL = "FULL"
+
+ #: A constant which can be used with the type property of a CreateBootVolumeBackupDetails.
+ #: This constant has a value of "INCREMENTAL"
+ TYPE_INCREMENTAL = "INCREMENTAL"
+
+ def __init__(self, **kwargs):
+ """
+ Initializes a new CreateBootVolumeBackupDetails object with values from keyword arguments.
+ The following keyword arguments are supported (corresponding to the getters/setters of this class):
+
+ :param boot_volume_id:
+ The value to assign to the boot_volume_id property of this CreateBootVolumeBackupDetails.
+ :type boot_volume_id: str
+
+ :param defined_tags:
+ The value to assign to the defined_tags property of this CreateBootVolumeBackupDetails.
+ :type defined_tags: dict(str, dict(str, object))
+
+ :param display_name:
+ The value to assign to the display_name property of this CreateBootVolumeBackupDetails.
+ :type display_name: str
+
+ :param freeform_tags:
+ The value to assign to the freeform_tags property of this CreateBootVolumeBackupDetails.
+ :type freeform_tags: dict(str, str)
+
+ :param type:
+ The value to assign to the type property of this CreateBootVolumeBackupDetails.
+ Allowed values for this property are: "FULL", "INCREMENTAL"
+ :type type: str
+
+ """
+ self.swagger_types = {
+ 'boot_volume_id': 'str',
+ 'defined_tags': 'dict(str, dict(str, object))',
+ 'display_name': 'str',
+ 'freeform_tags': 'dict(str, str)',
+ 'type': 'str'
+ }
+
+ self.attribute_map = {
+ 'boot_volume_id': 'bootVolumeId',
+ 'defined_tags': 'definedTags',
+ 'display_name': 'displayName',
+ 'freeform_tags': 'freeformTags',
+ 'type': 'type'
+ }
+
+ self._boot_volume_id = None
+ self._defined_tags = None
+ self._display_name = None
+ self._freeform_tags = None
+ self._type = None
+
+ @property
+ def boot_volume_id(self):
+ """
+ **[Required]** Gets the boot_volume_id of this CreateBootVolumeBackupDetails.
+ The OCID of the boot volume that needs to be backed up.
+
+
+ :return: The boot_volume_id of this CreateBootVolumeBackupDetails.
+ :rtype: str
+ """
+ return self._boot_volume_id
+
+ @boot_volume_id.setter
+ def boot_volume_id(self, boot_volume_id):
+ """
+ Sets the boot_volume_id of this CreateBootVolumeBackupDetails.
+ The OCID of the boot volume that needs to be backed up.
+
+
+ :param boot_volume_id: The boot_volume_id of this CreateBootVolumeBackupDetails.
+ :type: str
+ """
+ self._boot_volume_id = boot_volume_id
+
+ @property
+ def defined_tags(self):
+ """
+ Gets the defined_tags of this CreateBootVolumeBackupDetails.
+ Defined tags for this resource. Each key is predefined and scoped to a namespace.
+ For more information, see `Resource Tags`__.
+
+ Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm
+
+
+ :return: The defined_tags of this CreateBootVolumeBackupDetails.
+ :rtype: dict(str, dict(str, object))
+ """
+ return self._defined_tags
+
+ @defined_tags.setter
+ def defined_tags(self, defined_tags):
+ """
+ Sets the defined_tags of this CreateBootVolumeBackupDetails.
+ Defined tags for this resource. Each key is predefined and scoped to a namespace.
+ For more information, see `Resource Tags`__.
+
+ Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm
+
+
+ :param defined_tags: The defined_tags of this CreateBootVolumeBackupDetails.
+ :type: dict(str, dict(str, object))
+ """
+ self._defined_tags = defined_tags
+
+ @property
+ def display_name(self):
+ """
+ Gets the display_name of this CreateBootVolumeBackupDetails.
+ A user-friendly name for the boot volume backup. Does not have to be unique and it's changeable.
+ Avoid entering confidential information.
+
+
+ :return: The display_name of this CreateBootVolumeBackupDetails.
+ :rtype: str
+ """
+ return self._display_name
+
+ @display_name.setter
+ def display_name(self, display_name):
+ """
+ Sets the display_name of this CreateBootVolumeBackupDetails.
+ A user-friendly name for the boot volume backup. Does not have to be unique and it's changeable.
+ Avoid entering confidential information.
+
+
+ :param display_name: The display_name of this CreateBootVolumeBackupDetails.
+ :type: str
+ """
+ self._display_name = display_name
+
+ @property
+ def freeform_tags(self):
+ """
+ Gets the freeform_tags of this CreateBootVolumeBackupDetails.
+ Free-form tags for this resource. Each tag is a simple key-value pair with no
+ predefined name, type, or namespace. For more information, see
+ `Resource Tags`__.
+
+ Example: `{\"Department\": \"Finance\"}`
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm
+
+
+ :return: The freeform_tags of this CreateBootVolumeBackupDetails.
+ :rtype: dict(str, str)
+ """
+ return self._freeform_tags
+
+ @freeform_tags.setter
+ def freeform_tags(self, freeform_tags):
+ """
+ Sets the freeform_tags of this CreateBootVolumeBackupDetails.
+ Free-form tags for this resource. Each tag is a simple key-value pair with no
+ predefined name, type, or namespace. For more information, see
+ `Resource Tags`__.
+
+ Example: `{\"Department\": \"Finance\"}`
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm
+
+
+ :param freeform_tags: The freeform_tags of this CreateBootVolumeBackupDetails.
+ :type: dict(str, str)
+ """
+ self._freeform_tags = freeform_tags
+
+ @property
+ def type(self):
+ """
+ Gets the type of this CreateBootVolumeBackupDetails.
+ The type of backup to create. If omitted, defaults to incremental.
+
+ Allowed values for this property are: "FULL", "INCREMENTAL"
+
+
+ :return: The type of this CreateBootVolumeBackupDetails.
+ :rtype: str
+ """
+ return self._type
+
+ @type.setter
+ def type(self, type):
+ """
+ Sets the type of this CreateBootVolumeBackupDetails.
+ The type of backup to create. If omitted, defaults to incremental.
+
+
+ :param type: The type of this CreateBootVolumeBackupDetails.
+ :type: str
+ """
+ allowed_values = ["FULL", "INCREMENTAL"]
+ if not value_allowed_none_or_none_sentinel(type, allowed_values):
+ raise ValueError(
+ "Invalid value for `type`, must be None or one of {0}"
+ .format(allowed_values)
+ )
+ self._type = type
+
+ 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/core/models/create_boot_volume_details.py b/src/oci/core/models/create_boot_volume_details.py
new file mode 100644
index 0000000000..5fe0a95d84
--- /dev/null
+++ b/src/oci/core/models/create_boot_volume_details.py
@@ -0,0 +1,285 @@
+# coding: utf-8
+# Copyright (c) 2016, 2018, 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 CreateBootVolumeDetails(object):
+ """
+ CreateBootVolumeDetails model.
+ """
+
+ def __init__(self, **kwargs):
+ """
+ Initializes a new CreateBootVolumeDetails object with values from keyword arguments.
+ The following keyword arguments are supported (corresponding to the getters/setters of this class):
+
+ :param availability_domain:
+ The value to assign to the availability_domain property of this CreateBootVolumeDetails.
+ :type availability_domain: str
+
+ :param compartment_id:
+ The value to assign to the compartment_id property of this CreateBootVolumeDetails.
+ :type compartment_id: str
+
+ :param defined_tags:
+ The value to assign to the defined_tags property of this CreateBootVolumeDetails.
+ :type defined_tags: dict(str, dict(str, object))
+
+ :param display_name:
+ The value to assign to the display_name property of this CreateBootVolumeDetails.
+ :type display_name: str
+
+ :param freeform_tags:
+ The value to assign to the freeform_tags property of this CreateBootVolumeDetails.
+ :type freeform_tags: dict(str, str)
+
+ :param size_in_gbs:
+ The value to assign to the size_in_gbs property of this CreateBootVolumeDetails.
+ :type size_in_gbs: int
+
+ :param source_details:
+ The value to assign to the source_details property of this CreateBootVolumeDetails.
+ :type source_details: BootVolumeSourceDetails
+
+ """
+ self.swagger_types = {
+ 'availability_domain': 'str',
+ 'compartment_id': 'str',
+ 'defined_tags': 'dict(str, dict(str, object))',
+ 'display_name': 'str',
+ 'freeform_tags': 'dict(str, str)',
+ 'size_in_gbs': 'int',
+ 'source_details': 'BootVolumeSourceDetails'
+ }
+
+ self.attribute_map = {
+ 'availability_domain': 'availabilityDomain',
+ 'compartment_id': 'compartmentId',
+ 'defined_tags': 'definedTags',
+ 'display_name': 'displayName',
+ 'freeform_tags': 'freeformTags',
+ 'size_in_gbs': 'sizeInGBs',
+ 'source_details': 'sourceDetails'
+ }
+
+ self._availability_domain = None
+ self._compartment_id = None
+ self._defined_tags = None
+ self._display_name = None
+ self._freeform_tags = None
+ self._size_in_gbs = None
+ self._source_details = None
+
+ @property
+ def availability_domain(self):
+ """
+ **[Required]** Gets the availability_domain of this CreateBootVolumeDetails.
+ The Availability Domain of the boot volume.
+
+ Example: `Uocm:PHX-AD-1`
+
+
+ :return: The availability_domain of this CreateBootVolumeDetails.
+ :rtype: str
+ """
+ return self._availability_domain
+
+ @availability_domain.setter
+ def availability_domain(self, availability_domain):
+ """
+ Sets the availability_domain of this CreateBootVolumeDetails.
+ The Availability Domain of the boot volume.
+
+ Example: `Uocm:PHX-AD-1`
+
+
+ :param availability_domain: The availability_domain of this CreateBootVolumeDetails.
+ :type: str
+ """
+ self._availability_domain = availability_domain
+
+ @property
+ def compartment_id(self):
+ """
+ **[Required]** Gets the compartment_id of this CreateBootVolumeDetails.
+ The OCID of the compartment that contains the boot volume.
+
+
+ :return: The compartment_id of this CreateBootVolumeDetails.
+ :rtype: str
+ """
+ return self._compartment_id
+
+ @compartment_id.setter
+ def compartment_id(self, compartment_id):
+ """
+ Sets the compartment_id of this CreateBootVolumeDetails.
+ The OCID of the compartment that contains the boot volume.
+
+
+ :param compartment_id: The compartment_id of this CreateBootVolumeDetails.
+ :type: str
+ """
+ self._compartment_id = compartment_id
+
+ @property
+ def defined_tags(self):
+ """
+ Gets the defined_tags of this CreateBootVolumeDetails.
+ Defined tags for this resource. Each key is predefined and scoped to a namespace.
+ For more information, see `Resource Tags`__.
+
+ Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm
+
+
+ :return: The defined_tags of this CreateBootVolumeDetails.
+ :rtype: dict(str, dict(str, object))
+ """
+ return self._defined_tags
+
+ @defined_tags.setter
+ def defined_tags(self, defined_tags):
+ """
+ Sets the defined_tags of this CreateBootVolumeDetails.
+ Defined tags for this resource. Each key is predefined and scoped to a namespace.
+ For more information, see `Resource Tags`__.
+
+ Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm
+
+
+ :param defined_tags: The defined_tags of this CreateBootVolumeDetails.
+ :type: dict(str, dict(str, object))
+ """
+ self._defined_tags = defined_tags
+
+ @property
+ def display_name(self):
+ """
+ Gets the display_name of this CreateBootVolumeDetails.
+ A user-friendly name. Does not have to be unique, and it's changeable.
+ Avoid entering confidential information.
+
+
+ :return: The display_name of this CreateBootVolumeDetails.
+ :rtype: str
+ """
+ return self._display_name
+
+ @display_name.setter
+ def display_name(self, display_name):
+ """
+ Sets the display_name of this CreateBootVolumeDetails.
+ A user-friendly name. Does not have to be unique, and it's changeable.
+ Avoid entering confidential information.
+
+
+ :param display_name: The display_name of this CreateBootVolumeDetails.
+ :type: str
+ """
+ self._display_name = display_name
+
+ @property
+ def freeform_tags(self):
+ """
+ Gets the freeform_tags of this CreateBootVolumeDetails.
+ Free-form tags for this resource. Each tag is a simple key-value pair with no
+ predefined name, type, or namespace. For more information, see
+ `Resource Tags`__.
+
+ Example: `{\"Department\": \"Finance\"}`
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm
+
+
+ :return: The freeform_tags of this CreateBootVolumeDetails.
+ :rtype: dict(str, str)
+ """
+ return self._freeform_tags
+
+ @freeform_tags.setter
+ def freeform_tags(self, freeform_tags):
+ """
+ Sets the freeform_tags of this CreateBootVolumeDetails.
+ Free-form tags for this resource. Each tag is a simple key-value pair with no
+ predefined name, type, or namespace. For more information, see
+ `Resource Tags`__.
+
+ Example: `{\"Department\": \"Finance\"}`
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm
+
+
+ :param freeform_tags: The freeform_tags of this CreateBootVolumeDetails.
+ :type: dict(str, str)
+ """
+ self._freeform_tags = freeform_tags
+
+ @property
+ def size_in_gbs(self):
+ """
+ Gets the size_in_gbs of this CreateBootVolumeDetails.
+ The size of the volume in GBs.
+
+
+ :return: The size_in_gbs of this CreateBootVolumeDetails.
+ :rtype: int
+ """
+ return self._size_in_gbs
+
+ @size_in_gbs.setter
+ def size_in_gbs(self, size_in_gbs):
+ """
+ Sets the size_in_gbs of this CreateBootVolumeDetails.
+ The size of the volume in GBs.
+
+
+ :param size_in_gbs: The size_in_gbs of this CreateBootVolumeDetails.
+ :type: int
+ """
+ self._size_in_gbs = size_in_gbs
+
+ @property
+ def source_details(self):
+ """
+ **[Required]** Gets the source_details of this CreateBootVolumeDetails.
+ Specifies the boot volume source details for a new boot volume. The volume source is either another boot volume in the same Availability Domain or a boot volume backup.
+ This is a mandatory field for a boot volume.
+
+
+ :return: The source_details of this CreateBootVolumeDetails.
+ :rtype: BootVolumeSourceDetails
+ """
+ return self._source_details
+
+ @source_details.setter
+ def source_details(self, source_details):
+ """
+ Sets the source_details of this CreateBootVolumeDetails.
+ Specifies the boot volume source details for a new boot volume. The volume source is either another boot volume in the same Availability Domain or a boot volume backup.
+ This is a mandatory field for a boot volume.
+
+
+ :param source_details: The source_details of this CreateBootVolumeDetails.
+ :type: BootVolumeSourceDetails
+ """
+ self._source_details = source_details
+
+ 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/core/models/create_service_gateway_details.py b/src/oci/core/models/create_service_gateway_details.py
new file mode 100644
index 0000000000..137f19959e
--- /dev/null
+++ b/src/oci/core/models/create_service_gateway_details.py
@@ -0,0 +1,256 @@
+# coding: utf-8
+# Copyright (c) 2016, 2018, 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 CreateServiceGatewayDetails(object):
+ """
+ CreateServiceGatewayDetails model.
+ """
+
+ def __init__(self, **kwargs):
+ """
+ Initializes a new CreateServiceGatewayDetails object with values from keyword arguments.
+ The following keyword arguments are supported (corresponding to the getters/setters of this class):
+
+ :param compartment_id:
+ The value to assign to the compartment_id property of this CreateServiceGatewayDetails.
+ :type compartment_id: str
+
+ :param defined_tags:
+ The value to assign to the defined_tags property of this CreateServiceGatewayDetails.
+ :type defined_tags: dict(str, dict(str, object))
+
+ :param display_name:
+ The value to assign to the display_name property of this CreateServiceGatewayDetails.
+ :type display_name: str
+
+ :param freeform_tags:
+ The value to assign to the freeform_tags property of this CreateServiceGatewayDetails.
+ :type freeform_tags: dict(str, str)
+
+ :param services:
+ The value to assign to the services property of this CreateServiceGatewayDetails.
+ :type services: list[ServiceIdRequestDetails]
+
+ :param vcn_id:
+ The value to assign to the vcn_id property of this CreateServiceGatewayDetails.
+ :type vcn_id: str
+
+ """
+ self.swagger_types = {
+ 'compartment_id': 'str',
+ 'defined_tags': 'dict(str, dict(str, object))',
+ 'display_name': 'str',
+ 'freeform_tags': 'dict(str, str)',
+ 'services': 'list[ServiceIdRequestDetails]',
+ 'vcn_id': 'str'
+ }
+
+ self.attribute_map = {
+ 'compartment_id': 'compartmentId',
+ 'defined_tags': 'definedTags',
+ 'display_name': 'displayName',
+ 'freeform_tags': 'freeformTags',
+ 'services': 'services',
+ 'vcn_id': 'vcnId'
+ }
+
+ self._compartment_id = None
+ self._defined_tags = None
+ self._display_name = None
+ self._freeform_tags = None
+ self._services = None
+ self._vcn_id = None
+
+ @property
+ def compartment_id(self):
+ """
+ **[Required]** Gets the compartment_id of this CreateServiceGatewayDetails.
+ The `OCID]`__ of the compartment to contain the Service Gateway.
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm
+
+
+ :return: The compartment_id of this CreateServiceGatewayDetails.
+ :rtype: str
+ """
+ return self._compartment_id
+
+ @compartment_id.setter
+ def compartment_id(self, compartment_id):
+ """
+ Sets the compartment_id of this CreateServiceGatewayDetails.
+ The `OCID]`__ of the compartment to contain the Service Gateway.
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm
+
+
+ :param compartment_id: The compartment_id of this CreateServiceGatewayDetails.
+ :type: str
+ """
+ self._compartment_id = compartment_id
+
+ @property
+ def defined_tags(self):
+ """
+ Gets the defined_tags of this CreateServiceGatewayDetails.
+ Defined tags for this resource. Each key is predefined and scoped to a namespace.
+ For more information, see `Resource Tags`__.
+
+ Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm
+
+
+ :return: The defined_tags of this CreateServiceGatewayDetails.
+ :rtype: dict(str, dict(str, object))
+ """
+ return self._defined_tags
+
+ @defined_tags.setter
+ def defined_tags(self, defined_tags):
+ """
+ Sets the defined_tags of this CreateServiceGatewayDetails.
+ Defined tags for this resource. Each key is predefined and scoped to a namespace.
+ For more information, see `Resource Tags`__.
+
+ Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm
+
+
+ :param defined_tags: The defined_tags of this CreateServiceGatewayDetails.
+ :type: dict(str, dict(str, object))
+ """
+ self._defined_tags = defined_tags
+
+ @property
+ def display_name(self):
+ """
+ Gets the display_name of this CreateServiceGatewayDetails.
+ A user-friendly name. Does not have to be unique, and it's changeable.
+ Avoid entering confidential information.
+
+
+ :return: The display_name of this CreateServiceGatewayDetails.
+ :rtype: str
+ """
+ return self._display_name
+
+ @display_name.setter
+ def display_name(self, display_name):
+ """
+ Sets the display_name of this CreateServiceGatewayDetails.
+ A user-friendly name. Does not have to be unique, and it's changeable.
+ Avoid entering confidential information.
+
+
+ :param display_name: The display_name of this CreateServiceGatewayDetails.
+ :type: str
+ """
+ self._display_name = display_name
+
+ @property
+ def freeform_tags(self):
+ """
+ Gets the freeform_tags of this CreateServiceGatewayDetails.
+ Free-form tags for this resource. Each tag is a simple key-value pair with no
+ predefined name, type, or namespace. For more information, see
+ `Resource Tags`__.
+
+ Example: `{\"Department\": \"Finance\"}`
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm
+
+
+ :return: The freeform_tags of this CreateServiceGatewayDetails.
+ :rtype: dict(str, str)
+ """
+ return self._freeform_tags
+
+ @freeform_tags.setter
+ def freeform_tags(self, freeform_tags):
+ """
+ Sets the freeform_tags of this CreateServiceGatewayDetails.
+ Free-form tags for this resource. Each tag is a simple key-value pair with no
+ predefined name, type, or namespace. For more information, see
+ `Resource Tags`__.
+
+ Example: `{\"Department\": \"Finance\"}`
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm
+
+
+ :param freeform_tags: The freeform_tags of this CreateServiceGatewayDetails.
+ :type: dict(str, str)
+ """
+ self._freeform_tags = freeform_tags
+
+ @property
+ def services(self):
+ """
+ **[Required]** Gets the services of this CreateServiceGatewayDetails.
+ List of the Service OCIDs. These are the Services which will be enabled on the Service Gateway. This list can be empty.
+
+
+ :return: The services of this CreateServiceGatewayDetails.
+ :rtype: list[ServiceIdRequestDetails]
+ """
+ return self._services
+
+ @services.setter
+ def services(self, services):
+ """
+ Sets the services of this CreateServiceGatewayDetails.
+ List of the Service OCIDs. These are the Services which will be enabled on the Service Gateway. This list can be empty.
+
+
+ :param services: The services of this CreateServiceGatewayDetails.
+ :type: list[ServiceIdRequestDetails]
+ """
+ self._services = services
+
+ @property
+ def vcn_id(self):
+ """
+ **[Required]** Gets the vcn_id of this CreateServiceGatewayDetails.
+ The `OCID`__ of the VCN.
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm
+
+
+ :return: The vcn_id of this CreateServiceGatewayDetails.
+ :rtype: str
+ """
+ return self._vcn_id
+
+ @vcn_id.setter
+ def vcn_id(self, vcn_id):
+ """
+ Sets the vcn_id of this CreateServiceGatewayDetails.
+ The `OCID`__ of the VCN.
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm
+
+
+ :param vcn_id: The vcn_id of this CreateServiceGatewayDetails.
+ :type: str
+ """
+ self._vcn_id = vcn_id
+
+ 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/core/models/egress_security_rule.py b/src/oci/core/models/egress_security_rule.py
index a4baeeb90b..ad3e3ee063 100644
--- a/src/oci/core/models/egress_security_rule.py
+++ b/src/oci/core/models/egress_security_rule.py
@@ -12,6 +12,14 @@ class EgressSecurityRule(object):
A rule for allowing outbound IP packets.
"""
+ #: A constant which can be used with the destination_type property of a EgressSecurityRule.
+ #: This constant has a value of "CIDR_BLOCK"
+ DESTINATION_TYPE_CIDR_BLOCK = "CIDR_BLOCK"
+
+ #: A constant which can be used with the destination_type property of a EgressSecurityRule.
+ #: This constant has a value of "SERVICE_CIDR_BLOCK"
+ DESTINATION_TYPE_SERVICE_CIDR_BLOCK = "SERVICE_CIDR_BLOCK"
+
def __init__(self, **kwargs):
"""
Initializes a new EgressSecurityRule object with values from keyword arguments.
@@ -21,6 +29,12 @@ def __init__(self, **kwargs):
The value to assign to the destination property of this EgressSecurityRule.
:type destination: str
+ :param destination_type:
+ The value to assign to the destination_type property of this EgressSecurityRule.
+ Allowed values for this property are: "CIDR_BLOCK", "SERVICE_CIDR_BLOCK", 'UNKNOWN_ENUM_VALUE'.
+ Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
+ :type destination_type: str
+
:param icmp_options:
The value to assign to the icmp_options property of this EgressSecurityRule.
:type icmp_options: IcmpOptions
@@ -44,6 +58,7 @@ def __init__(self, **kwargs):
"""
self.swagger_types = {
'destination': 'str',
+ 'destination_type': 'str',
'icmp_options': 'IcmpOptions',
'is_stateless': 'bool',
'protocol': 'str',
@@ -53,6 +68,7 @@ def __init__(self, **kwargs):
self.attribute_map = {
'destination': 'destination',
+ 'destination_type': 'destinationType',
'icmp_options': 'icmpOptions',
'is_stateless': 'isStateless',
'protocol': 'protocol',
@@ -61,6 +77,7 @@ def __init__(self, **kwargs):
}
self._destination = None
+ self._destination_type = None
self._icmp_options = None
self._is_stateless = None
self._protocol = None
@@ -71,8 +88,8 @@ def __init__(self, **kwargs):
def destination(self):
"""
**[Required]** Gets the destination of this EgressSecurityRule.
- The destination CIDR block for the egress rule. This is the range of IP addresses that a
- packet originating from the instance can go to.
+ The destination service cidrBlock or destination IP address range in CIDR notation for the egress rule.
+ This is the range of IP addresses that a packet originating from the instance can go to.
:return: The destination of this EgressSecurityRule.
@@ -84,8 +101,8 @@ def destination(self):
def destination(self, destination):
"""
Sets the destination of this EgressSecurityRule.
- The destination CIDR block for the egress rule. This is the range of IP addresses that a
- packet originating from the instance can go to.
+ The destination service cidrBlock or destination IP address range in CIDR notation for the egress rule.
+ This is the range of IP addresses that a packet originating from the instance can go to.
:param destination: The destination of this EgressSecurityRule.
@@ -93,6 +110,40 @@ def destination(self, destination):
"""
self._destination = destination
+ @property
+ def destination_type(self):
+ """
+ Gets the destination_type of this EgressSecurityRule.
+ Type of destination for EgressSecurityRule. SERVICE_CIDR_BLOCK should be used if destination is a service
+ cidrBlock. CIDR_BLOCK should be used if destination is IP address range in CIDR notation.
+ It defaults to CIDR_BLOCK, if not specified.
+
+ Allowed values for this property are: "CIDR_BLOCK", "SERVICE_CIDR_BLOCK", 'UNKNOWN_ENUM_VALUE'.
+ Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
+
+
+ :return: The destination_type of this EgressSecurityRule.
+ :rtype: str
+ """
+ return self._destination_type
+
+ @destination_type.setter
+ def destination_type(self, destination_type):
+ """
+ Sets the destination_type of this EgressSecurityRule.
+ Type of destination for EgressSecurityRule. SERVICE_CIDR_BLOCK should be used if destination is a service
+ cidrBlock. CIDR_BLOCK should be used if destination is IP address range in CIDR notation.
+ It defaults to CIDR_BLOCK, if not specified.
+
+
+ :param destination_type: The destination_type of this EgressSecurityRule.
+ :type: str
+ """
+ allowed_values = ["CIDR_BLOCK", "SERVICE_CIDR_BLOCK"]
+ if not value_allowed_none_or_none_sentinel(destination_type, allowed_values):
+ destination_type = 'UNKNOWN_ENUM_VALUE'
+ self._destination_type = destination_type
+
@property
def icmp_options(self):
"""
diff --git a/src/oci/core/models/ingress_security_rule.py b/src/oci/core/models/ingress_security_rule.py
index 82eab251e2..86ffa8712d 100644
--- a/src/oci/core/models/ingress_security_rule.py
+++ b/src/oci/core/models/ingress_security_rule.py
@@ -12,6 +12,14 @@ class IngressSecurityRule(object):
A rule for allowing inbound IP packets.
"""
+ #: A constant which can be used with the source_type property of a IngressSecurityRule.
+ #: This constant has a value of "CIDR_BLOCK"
+ SOURCE_TYPE_CIDR_BLOCK = "CIDR_BLOCK"
+
+ #: A constant which can be used with the source_type property of a IngressSecurityRule.
+ #: This constant has a value of "SERVICE_CIDR_BLOCK"
+ SOURCE_TYPE_SERVICE_CIDR_BLOCK = "SERVICE_CIDR_BLOCK"
+
def __init__(self, **kwargs):
"""
Initializes a new IngressSecurityRule object with values from keyword arguments.
@@ -33,6 +41,12 @@ def __init__(self, **kwargs):
The value to assign to the source property of this IngressSecurityRule.
:type source: str
+ :param source_type:
+ The value to assign to the source_type property of this IngressSecurityRule.
+ Allowed values for this property are: "CIDR_BLOCK", "SERVICE_CIDR_BLOCK", 'UNKNOWN_ENUM_VALUE'.
+ Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
+ :type source_type: str
+
:param tcp_options:
The value to assign to the tcp_options property of this IngressSecurityRule.
:type tcp_options: TcpOptions
@@ -47,6 +61,7 @@ def __init__(self, **kwargs):
'is_stateless': 'bool',
'protocol': 'str',
'source': 'str',
+ 'source_type': 'str',
'tcp_options': 'TcpOptions',
'udp_options': 'UdpOptions'
}
@@ -56,6 +71,7 @@ def __init__(self, **kwargs):
'is_stateless': 'isStateless',
'protocol': 'protocol',
'source': 'source',
+ 'source_type': 'sourceType',
'tcp_options': 'tcpOptions',
'udp_options': 'udpOptions'
}
@@ -64,6 +80,7 @@ def __init__(self, **kwargs):
self._is_stateless = None
self._protocol = None
self._source = None
+ self._source_type = None
self._tcp_options = None
self._udp_options = None
@@ -179,8 +196,11 @@ def protocol(self, protocol):
def source(self):
"""
**[Required]** Gets the source of this IngressSecurityRule.
- The source CIDR block for the ingress rule. This is the range of IP addresses that a
- packet coming into the instance can come from.
+ The source service cidrBlock or source IP address range in CIDR notation for the ingress rule. This is the
+ range of IP addresses that a packet coming into the instance can come from.
+
+ Examples: `10.12.0.0/16`
+ `oci-phx-objectstorage`
:return: The source of this IngressSecurityRule.
@@ -192,8 +212,11 @@ def source(self):
def source(self, source):
"""
Sets the source of this IngressSecurityRule.
- The source CIDR block for the ingress rule. This is the range of IP addresses that a
- packet coming into the instance can come from.
+ The source service cidrBlock or source IP address range in CIDR notation for the ingress rule. This is the
+ range of IP addresses that a packet coming into the instance can come from.
+
+ Examples: `10.12.0.0/16`
+ `oci-phx-objectstorage`
:param source: The source of this IngressSecurityRule.
@@ -201,6 +224,40 @@ def source(self, source):
"""
self._source = source
+ @property
+ def source_type(self):
+ """
+ Gets the source_type of this IngressSecurityRule.
+ Type of source for IngressSecurityRule. SERVICE_CIDR_BLOCK should be used if source is a service cidrBlock.
+ CIDR_BLOCK should be used if source is IP address range in CIDR notation. It defaults to CIDR_BLOCK, if
+ not specified.
+
+ Allowed values for this property are: "CIDR_BLOCK", "SERVICE_CIDR_BLOCK", 'UNKNOWN_ENUM_VALUE'.
+ Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
+
+
+ :return: The source_type of this IngressSecurityRule.
+ :rtype: str
+ """
+ return self._source_type
+
+ @source_type.setter
+ def source_type(self, source_type):
+ """
+ Sets the source_type of this IngressSecurityRule.
+ Type of source for IngressSecurityRule. SERVICE_CIDR_BLOCK should be used if source is a service cidrBlock.
+ CIDR_BLOCK should be used if source is IP address range in CIDR notation. It defaults to CIDR_BLOCK, if
+ not specified.
+
+
+ :param source_type: The source_type of this IngressSecurityRule.
+ :type: str
+ """
+ allowed_values = ["CIDR_BLOCK", "SERVICE_CIDR_BLOCK"]
+ if not value_allowed_none_or_none_sentinel(source_type, allowed_values):
+ source_type = 'UNKNOWN_ENUM_VALUE'
+ self._source_type = source_type
+
@property
def tcp_options(self):
"""
diff --git a/src/oci/core/models/route_rule.py b/src/oci/core/models/route_rule.py
index 2b9e4b59f7..9957ae1c1e 100644
--- a/src/oci/core/models/route_rule.py
+++ b/src/oci/core/models/route_rule.py
@@ -13,6 +13,14 @@ class RouteRule(object):
packets to (a target).
"""
+ #: A constant which can be used with the destination_type property of a RouteRule.
+ #: This constant has a value of "CIDR_BLOCK"
+ DESTINATION_TYPE_CIDR_BLOCK = "CIDR_BLOCK"
+
+ #: A constant which can be used with the destination_type property of a RouteRule.
+ #: This constant has a value of "SERVICE_CIDR_BLOCK"
+ DESTINATION_TYPE_SERVICE_CIDR_BLOCK = "SERVICE_CIDR_BLOCK"
+
def __init__(self, **kwargs):
"""
Initializes a new RouteRule object with values from keyword arguments.
@@ -22,6 +30,16 @@ def __init__(self, **kwargs):
The value to assign to the cidr_block property of this RouteRule.
:type cidr_block: str
+ :param destination:
+ The value to assign to the destination property of this RouteRule.
+ :type destination: str
+
+ :param destination_type:
+ The value to assign to the destination_type property of this RouteRule.
+ Allowed values for this property are: "CIDR_BLOCK", "SERVICE_CIDR_BLOCK", 'UNKNOWN_ENUM_VALUE'.
+ Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
+ :type destination_type: str
+
:param network_entity_id:
The value to assign to the network_entity_id property of this RouteRule.
:type network_entity_id: str
@@ -29,21 +47,28 @@ def __init__(self, **kwargs):
"""
self.swagger_types = {
'cidr_block': 'str',
+ 'destination': 'str',
+ 'destination_type': 'str',
'network_entity_id': 'str'
}
self.attribute_map = {
'cidr_block': 'cidrBlock',
+ 'destination': 'destination',
+ 'destination_type': 'destinationType',
'network_entity_id': 'networkEntityId'
}
self._cidr_block = None
+ self._destination = None
+ self._destination_type = None
self._network_entity_id = None
@property
def cidr_block(self):
"""
**[Required]** Gets the cidr_block of this RouteRule.
+ Deprecated, Destination and DestinationType should be used instead; request including both fields will be rejected.
A destination IP address range in CIDR notation. Matching packets will
be routed to the indicated network entity (the target).
@@ -59,6 +84,7 @@ def cidr_block(self):
def cidr_block(self, cidr_block):
"""
Sets the cidr_block of this RouteRule.
+ Deprecated, Destination and DestinationType should be used instead; request including both fields will be rejected.
A destination IP address range in CIDR notation. Matching packets will
be routed to the indicated network entity (the target).
@@ -70,6 +96,72 @@ def cidr_block(self, cidr_block):
"""
self._cidr_block = cidr_block
+ @property
+ def destination(self):
+ """
+ Gets the destination of this RouteRule.
+ The destination service cidrBlock or destination IP address range in CIDR notation. Matching packets will
+ be routed to the indicated network entity (the target).
+
+ Examples: `10.12.0.0/16`
+ `oci-phx-objectstorage`
+
+
+ :return: The destination of this RouteRule.
+ :rtype: str
+ """
+ return self._destination
+
+ @destination.setter
+ def destination(self, destination):
+ """
+ Sets the destination of this RouteRule.
+ The destination service cidrBlock or destination IP address range in CIDR notation. Matching packets will
+ be routed to the indicated network entity (the target).
+
+ Examples: `10.12.0.0/16`
+ `oci-phx-objectstorage`
+
+
+ :param destination: The destination of this RouteRule.
+ :type: str
+ """
+ self._destination = destination
+
+ @property
+ def destination_type(self):
+ """
+ Gets the destination_type of this RouteRule.
+ Type of destination for the route rule. SERVICE_CIDR_BLOCK should be used if destination is a service
+ cidrBlock. CIDR_BLOCK should be used if destination is IP address range in CIDR notation. It must be provided
+ along with `destination`.
+
+ Allowed values for this property are: "CIDR_BLOCK", "SERVICE_CIDR_BLOCK", 'UNKNOWN_ENUM_VALUE'.
+ Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
+
+
+ :return: The destination_type of this RouteRule.
+ :rtype: str
+ """
+ return self._destination_type
+
+ @destination_type.setter
+ def destination_type(self, destination_type):
+ """
+ Sets the destination_type of this RouteRule.
+ Type of destination for the route rule. SERVICE_CIDR_BLOCK should be used if destination is a service
+ cidrBlock. CIDR_BLOCK should be used if destination is IP address range in CIDR notation. It must be provided
+ along with `destination`.
+
+
+ :param destination_type: The destination_type of this RouteRule.
+ :type: str
+ """
+ allowed_values = ["CIDR_BLOCK", "SERVICE_CIDR_BLOCK"]
+ if not value_allowed_none_or_none_sentinel(destination_type, allowed_values):
+ destination_type = 'UNKNOWN_ENUM_VALUE'
+ self._destination_type = destination_type
+
@property
def network_entity_id(self):
"""
diff --git a/src/oci/core/models/service.py b/src/oci/core/models/service.py
new file mode 100644
index 0000000000..f9c3c4bbb3
--- /dev/null
+++ b/src/oci/core/models/service.py
@@ -0,0 +1,170 @@
+# coding: utf-8
+# Copyright (c) 2016, 2018, 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 Service(object):
+ """
+ Information about a service that is accessible through a service gateway.
+ """
+
+ def __init__(self, **kwargs):
+ """
+ Initializes a new Service object with values from keyword arguments.
+ The following keyword arguments are supported (corresponding to the getters/setters of this class):
+
+ :param cidr_block:
+ The value to assign to the cidr_block property of this Service.
+ :type cidr_block: str
+
+ :param description:
+ The value to assign to the description property of this Service.
+ :type description: str
+
+ :param id:
+ The value to assign to the id property of this Service.
+ :type id: str
+
+ :param name:
+ The value to assign to the name property of this Service.
+ :type name: str
+
+ """
+ self.swagger_types = {
+ 'cidr_block': 'str',
+ 'description': 'str',
+ 'id': 'str',
+ 'name': 'str'
+ }
+
+ self.attribute_map = {
+ 'cidr_block': 'cidrBlock',
+ 'description': 'description',
+ 'id': 'id',
+ 'name': 'name'
+ }
+
+ self._cidr_block = None
+ self._description = None
+ self._id = None
+ self._name = None
+
+ @property
+ def cidr_block(self):
+ """
+ **[Required]** Gets the cidr_block of this Service.
+ A string that represents the public endpoints for the service. When you set up a route rule
+ to route traffic to the service gateway, use this value as the destination CIDR block for
+ the rule. See :class:`RouteTable`.
+
+
+ :return: The cidr_block of this Service.
+ :rtype: str
+ """
+ return self._cidr_block
+
+ @cidr_block.setter
+ def cidr_block(self, cidr_block):
+ """
+ Sets the cidr_block of this Service.
+ A string that represents the public endpoints for the service. When you set up a route rule
+ to route traffic to the service gateway, use this value as the destination CIDR block for
+ the rule. See :class:`RouteTable`.
+
+
+ :param cidr_block: The cidr_block of this Service.
+ :type: str
+ """
+ self._cidr_block = cidr_block
+
+ @property
+ def description(self):
+ """
+ **[Required]** Gets the description of this Service.
+ Description of the service.
+
+
+ :return: The description of this Service.
+ :rtype: str
+ """
+ return self._description
+
+ @description.setter
+ def description(self, description):
+ """
+ Sets the description of this Service.
+ Description of the service.
+
+
+ :param description: The description of this Service.
+ :type: str
+ """
+ self._description = description
+
+ @property
+ def id(self):
+ """
+ **[Required]** Gets the id of this Service.
+ The service's `OCID`__.
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm
+
+
+ :return: The id of this Service.
+ :rtype: str
+ """
+ return self._id
+
+ @id.setter
+ def id(self, id):
+ """
+ Sets the id of this Service.
+ The service's `OCID`__.
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm
+
+
+ :param id: The id of this Service.
+ :type: str
+ """
+ self._id = id
+
+ @property
+ def name(self):
+ """
+ **[Required]** Gets the name of this Service.
+ Name of the service.
+
+
+ :return: The name of this Service.
+ :rtype: str
+ """
+ return self._name
+
+ @name.setter
+ def name(self, name):
+ """
+ Sets the name of this Service.
+ Name of the service.
+
+
+ :param name: The name of this Service.
+ :type: str
+ """
+ self._name = name
+
+ 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/core/models/service_gateway.py b/src/oci/core/models/service_gateway.py
new file mode 100644
index 0000000000..32a0bcb0d3
--- /dev/null
+++ b/src/oci/core/models/service_gateway.py
@@ -0,0 +1,421 @@
+# coding: utf-8
+# Copyright (c) 2016, 2018, 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 ServiceGateway(object):
+ """
+ Represents a router that connects the edge of a VCN with public Oracle Cloud Infrastructure
+ services such as Object Storage. Traffic leaving the VCN and destined for a supported public
+ service (see :func:`list_services`) is routed through the
+ service gateway and does not traverse the internet. The instances in the VCN do not need to
+ have public IP addresses nor be in a public subnet. The VCN does not need an internet gateway
+ for this traffic. For more information, see
+ `Access to Object Storage: Service Gateway`__.
+
+ To use any of the API operations, you must be authorized in an IAM policy. If you're not authorized,
+ talk to an administrator. If you're an administrator who needs to write policies to give users access, see
+ `Getting Started with Policies`__.
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Tasks/servicegateway.htm
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/policygetstarted.htm
+ """
+
+ #: A constant which can be used with the lifecycle_state property of a ServiceGateway.
+ #: This constant has a value of "PROVISIONING"
+ LIFECYCLE_STATE_PROVISIONING = "PROVISIONING"
+
+ #: A constant which can be used with the lifecycle_state property of a ServiceGateway.
+ #: This constant has a value of "AVAILABLE"
+ LIFECYCLE_STATE_AVAILABLE = "AVAILABLE"
+
+ #: A constant which can be used with the lifecycle_state property of a ServiceGateway.
+ #: This constant has a value of "TERMINATING"
+ LIFECYCLE_STATE_TERMINATING = "TERMINATING"
+
+ #: A constant which can be used with the lifecycle_state property of a ServiceGateway.
+ #: This constant has a value of "TERMINATED"
+ LIFECYCLE_STATE_TERMINATED = "TERMINATED"
+
+ def __init__(self, **kwargs):
+ """
+ Initializes a new ServiceGateway object with values from keyword arguments.
+ The following keyword arguments are supported (corresponding to the getters/setters of this class):
+
+ :param block_traffic:
+ The value to assign to the block_traffic property of this ServiceGateway.
+ :type block_traffic: bool
+
+ :param compartment_id:
+ The value to assign to the compartment_id property of this ServiceGateway.
+ :type compartment_id: str
+
+ :param defined_tags:
+ The value to assign to the defined_tags property of this ServiceGateway.
+ :type defined_tags: dict(str, dict(str, object))
+
+ :param display_name:
+ The value to assign to the display_name property of this ServiceGateway.
+ :type display_name: str
+
+ :param freeform_tags:
+ The value to assign to the freeform_tags property of this ServiceGateway.
+ :type freeform_tags: dict(str, str)
+
+ :param id:
+ The value to assign to the id property of this ServiceGateway.
+ :type id: str
+
+ :param lifecycle_state:
+ The value to assign to the lifecycle_state property of this ServiceGateway.
+ Allowed values for this property are: "PROVISIONING", "AVAILABLE", "TERMINATING", "TERMINATED", 'UNKNOWN_ENUM_VALUE'.
+ Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
+ :type lifecycle_state: str
+
+ :param services:
+ The value to assign to the services property of this ServiceGateway.
+ :type services: list[ServiceIdResponseDetails]
+
+ :param time_created:
+ The value to assign to the time_created property of this ServiceGateway.
+ :type time_created: datetime
+
+ :param vcn_id:
+ The value to assign to the vcn_id property of this ServiceGateway.
+ :type vcn_id: str
+
+ """
+ self.swagger_types = {
+ 'block_traffic': 'bool',
+ 'compartment_id': 'str',
+ 'defined_tags': 'dict(str, dict(str, object))',
+ 'display_name': 'str',
+ 'freeform_tags': 'dict(str, str)',
+ 'id': 'str',
+ 'lifecycle_state': 'str',
+ 'services': 'list[ServiceIdResponseDetails]',
+ 'time_created': 'datetime',
+ 'vcn_id': 'str'
+ }
+
+ self.attribute_map = {
+ 'block_traffic': 'blockTraffic',
+ 'compartment_id': 'compartmentId',
+ 'defined_tags': 'definedTags',
+ 'display_name': 'displayName',
+ 'freeform_tags': 'freeformTags',
+ 'id': 'id',
+ 'lifecycle_state': 'lifecycleState',
+ 'services': 'services',
+ 'time_created': 'timeCreated',
+ 'vcn_id': 'vcnId'
+ }
+
+ self._block_traffic = None
+ self._compartment_id = None
+ self._defined_tags = None
+ self._display_name = None
+ self._freeform_tags = None
+ self._id = None
+ self._lifecycle_state = None
+ self._services = None
+ self._time_created = None
+ self._vcn_id = None
+
+ @property
+ def block_traffic(self):
+ """
+ **[Required]** Gets the block_traffic of this ServiceGateway.
+ Whether the service gateway blocks all traffic through it. The default is `false`. When
+ this is `true`, traffic is not routed to any services, regardless of route rules.
+
+ Example: `true`
+
+
+ :return: The block_traffic of this ServiceGateway.
+ :rtype: bool
+ """
+ return self._block_traffic
+
+ @block_traffic.setter
+ def block_traffic(self, block_traffic):
+ """
+ Sets the block_traffic of this ServiceGateway.
+ Whether the service gateway blocks all traffic through it. The default is `false`. When
+ this is `true`, traffic is not routed to any services, regardless of route rules.
+
+ Example: `true`
+
+
+ :param block_traffic: The block_traffic of this ServiceGateway.
+ :type: bool
+ """
+ self._block_traffic = block_traffic
+
+ @property
+ def compartment_id(self):
+ """
+ **[Required]** Gets the compartment_id of this ServiceGateway.
+ The `OCID`__ of the compartment that contains the
+ service gateway.
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm
+
+
+ :return: The compartment_id of this ServiceGateway.
+ :rtype: str
+ """
+ return self._compartment_id
+
+ @compartment_id.setter
+ def compartment_id(self, compartment_id):
+ """
+ Sets the compartment_id of this ServiceGateway.
+ The `OCID`__ of the compartment that contains the
+ service gateway.
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm
+
+
+ :param compartment_id: The compartment_id of this ServiceGateway.
+ :type: str
+ """
+ self._compartment_id = compartment_id
+
+ @property
+ def defined_tags(self):
+ """
+ Gets the defined_tags of this ServiceGateway.
+ Usage of predefined tag keys. These predefined keys are scoped to namespaces.
+ Example: `{\"foo-namespace\": {\"bar-key\": \"foo-value\"}}`
+
+
+ :return: The defined_tags of this ServiceGateway.
+ :rtype: dict(str, dict(str, object))
+ """
+ return self._defined_tags
+
+ @defined_tags.setter
+ def defined_tags(self, defined_tags):
+ """
+ Sets the defined_tags of this ServiceGateway.
+ Usage of predefined tag keys. These predefined keys are scoped to namespaces.
+ Example: `{\"foo-namespace\": {\"bar-key\": \"foo-value\"}}`
+
+
+ :param defined_tags: The defined_tags of this ServiceGateway.
+ :type: dict(str, dict(str, object))
+ """
+ self._defined_tags = defined_tags
+
+ @property
+ def display_name(self):
+ """
+ Gets the display_name of this ServiceGateway.
+ A user-friendly name. Does not have to be unique, and it's changeable.
+ Avoid entering confidential information.
+
+
+ :return: The display_name of this ServiceGateway.
+ :rtype: str
+ """
+ return self._display_name
+
+ @display_name.setter
+ def display_name(self, display_name):
+ """
+ Sets the display_name of this ServiceGateway.
+ A user-friendly name. Does not have to be unique, and it's changeable.
+ Avoid entering confidential information.
+
+
+ :param display_name: The display_name of this ServiceGateway.
+ :type: str
+ """
+ self._display_name = display_name
+
+ @property
+ def freeform_tags(self):
+ """
+ Gets the freeform_tags of this ServiceGateway.
+ Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only.
+ Example: `{\"bar-key\": \"value\"}`
+
+
+ :return: The freeform_tags of this ServiceGateway.
+ :rtype: dict(str, str)
+ """
+ return self._freeform_tags
+
+ @freeform_tags.setter
+ def freeform_tags(self, freeform_tags):
+ """
+ Sets the freeform_tags of this ServiceGateway.
+ Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only.
+ Example: `{\"bar-key\": \"value\"}`
+
+
+ :param freeform_tags: The freeform_tags of this ServiceGateway.
+ :type: dict(str, str)
+ """
+ self._freeform_tags = freeform_tags
+
+ @property
+ def id(self):
+ """
+ **[Required]** Gets the id of this ServiceGateway.
+ The `OCID`__ of the service gateway.
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm
+
+
+ :return: The id of this ServiceGateway.
+ :rtype: str
+ """
+ return self._id
+
+ @id.setter
+ def id(self, id):
+ """
+ Sets the id of this ServiceGateway.
+ The `OCID`__ of the service gateway.
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm
+
+
+ :param id: The id of this ServiceGateway.
+ :type: str
+ """
+ self._id = id
+
+ @property
+ def lifecycle_state(self):
+ """
+ **[Required]** Gets the lifecycle_state of this ServiceGateway.
+ The service gateway's current state.
+
+ Allowed values for this property are: "PROVISIONING", "AVAILABLE", "TERMINATING", "TERMINATED", 'UNKNOWN_ENUM_VALUE'.
+ Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
+
+
+ :return: The lifecycle_state of this ServiceGateway.
+ :rtype: str
+ """
+ return self._lifecycle_state
+
+ @lifecycle_state.setter
+ def lifecycle_state(self, lifecycle_state):
+ """
+ Sets the lifecycle_state of this ServiceGateway.
+ The service gateway's current state.
+
+
+ :param lifecycle_state: The lifecycle_state of this ServiceGateway.
+ :type: str
+ """
+ allowed_values = ["PROVISIONING", "AVAILABLE", "TERMINATING", "TERMINATED"]
+ if not value_allowed_none_or_none_sentinel(lifecycle_state, allowed_values):
+ lifecycle_state = 'UNKNOWN_ENUM_VALUE'
+ self._lifecycle_state = lifecycle_state
+
+ @property
+ def services(self):
+ """
+ **[Required]** Gets the services of this ServiceGateway.
+ List of the services enabled on this service gateway. The list can be empty.
+ You can enable a particular service by using
+ :func:`attach_service_id`.
+
+
+ :return: The services of this ServiceGateway.
+ :rtype: list[ServiceIdResponseDetails]
+ """
+ return self._services
+
+ @services.setter
+ def services(self, services):
+ """
+ Sets the services of this ServiceGateway.
+ List of the services enabled on this service gateway. The list can be empty.
+ You can enable a particular service by using
+ :func:`attach_service_id`.
+
+
+ :param services: The services of this ServiceGateway.
+ :type: list[ServiceIdResponseDetails]
+ """
+ self._services = services
+
+ @property
+ def time_created(self):
+ """
+ Gets the time_created of this ServiceGateway.
+ The date and time the service gateway was created, in the format defined by RFC3339.
+
+ Example: `2016-08-25T21:10:29.600Z`
+
+
+ :return: The time_created of this ServiceGateway.
+ :rtype: datetime
+ """
+ return self._time_created
+
+ @time_created.setter
+ def time_created(self, time_created):
+ """
+ Sets the time_created of this ServiceGateway.
+ The date and time the service gateway was created, in the format defined by RFC3339.
+
+ Example: `2016-08-25T21:10:29.600Z`
+
+
+ :param time_created: The time_created of this ServiceGateway.
+ :type: datetime
+ """
+ self._time_created = time_created
+
+ @property
+ def vcn_id(self):
+ """
+ **[Required]** Gets the vcn_id of this ServiceGateway.
+ The `OCID`__ of the VCN the service gateway
+ belongs to.
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm
+
+
+ :return: The vcn_id of this ServiceGateway.
+ :rtype: str
+ """
+ return self._vcn_id
+
+ @vcn_id.setter
+ def vcn_id(self, vcn_id):
+ """
+ Sets the vcn_id of this ServiceGateway.
+ The `OCID`__ of the VCN the service gateway
+ belongs to.
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm
+
+
+ :param vcn_id: The vcn_id of this ServiceGateway.
+ :type: str
+ """
+ self._vcn_id = vcn_id
+
+ 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/core/models/service_id_request_details.py b/src/oci/core/models/service_id_request_details.py
new file mode 100644
index 0000000000..ed55d23f47
--- /dev/null
+++ b/src/oci/core/models/service_id_request_details.py
@@ -0,0 +1,73 @@
+# coding: utf-8
+# Copyright (c) 2016, 2018, 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 ServiceIdRequestDetails(object):
+ """
+ ServiceIdRequestDetails model.
+ """
+
+ def __init__(self, **kwargs):
+ """
+ Initializes a new ServiceIdRequestDetails object with values from keyword arguments.
+ The following keyword arguments are supported (corresponding to the getters/setters of this class):
+
+ :param service_id:
+ The value to assign to the service_id property of this ServiceIdRequestDetails.
+ :type service_id: str
+
+ """
+ self.swagger_types = {
+ 'service_id': 'str'
+ }
+
+ self.attribute_map = {
+ 'service_id': 'serviceId'
+ }
+
+ self._service_id = None
+
+ @property
+ def service_id(self):
+ """
+ **[Required]** Gets the service_id of this ServiceIdRequestDetails.
+ The `OCID`__ of the service.
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm
+
+
+ :return: The service_id of this ServiceIdRequestDetails.
+ :rtype: str
+ """
+ return self._service_id
+
+ @service_id.setter
+ def service_id(self, service_id):
+ """
+ Sets the service_id of this ServiceIdRequestDetails.
+ The `OCID`__ of the service.
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm
+
+
+ :param service_id: The service_id of this ServiceIdRequestDetails.
+ :type: str
+ """
+ self._service_id = service_id
+
+ 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/core/models/service_id_response_details.py b/src/oci/core/models/service_id_response_details.py
new file mode 100644
index 0000000000..e372fdda13
--- /dev/null
+++ b/src/oci/core/models/service_id_response_details.py
@@ -0,0 +1,104 @@
+# coding: utf-8
+# Copyright (c) 2016, 2018, 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 ServiceIdResponseDetails(object):
+ """
+ ServiceIdResponseDetails model.
+ """
+
+ def __init__(self, **kwargs):
+ """
+ Initializes a new ServiceIdResponseDetails object with values from keyword arguments.
+ The following keyword arguments are supported (corresponding to the getters/setters of this class):
+
+ :param service_id:
+ The value to assign to the service_id property of this ServiceIdResponseDetails.
+ :type service_id: str
+
+ :param service_name:
+ The value to assign to the service_name property of this ServiceIdResponseDetails.
+ :type service_name: str
+
+ """
+ self.swagger_types = {
+ 'service_id': 'str',
+ 'service_name': 'str'
+ }
+
+ self.attribute_map = {
+ 'service_id': 'serviceId',
+ 'service_name': 'serviceName'
+ }
+
+ self._service_id = None
+ self._service_name = None
+
+ @property
+ def service_id(self):
+ """
+ **[Required]** Gets the service_id of this ServiceIdResponseDetails.
+ The `OCID`__ of the service.
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm
+
+
+ :return: The service_id of this ServiceIdResponseDetails.
+ :rtype: str
+ """
+ return self._service_id
+
+ @service_id.setter
+ def service_id(self, service_id):
+ """
+ Sets the service_id of this ServiceIdResponseDetails.
+ The `OCID`__ of the service.
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm
+
+
+ :param service_id: The service_id of this ServiceIdResponseDetails.
+ :type: str
+ """
+ self._service_id = service_id
+
+ @property
+ def service_name(self):
+ """
+ **[Required]** Gets the service_name of this ServiceIdResponseDetails.
+ The name of the service.
+
+
+ :return: The service_name of this ServiceIdResponseDetails.
+ :rtype: str
+ """
+ return self._service_name
+
+ @service_name.setter
+ def service_name(self, service_name):
+ """
+ Sets the service_name of this ServiceIdResponseDetails.
+ The name of the service.
+
+
+ :param service_name: The service_name of this ServiceIdResponseDetails.
+ :type: str
+ """
+ self._service_name = service_name
+
+ 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/core/models/update_boot_volume_backup_details.py b/src/oci/core/models/update_boot_volume_backup_details.py
new file mode 100644
index 0000000000..bbc194b53c
--- /dev/null
+++ b/src/oci/core/models/update_boot_volume_backup_details.py
@@ -0,0 +1,155 @@
+# coding: utf-8
+# Copyright (c) 2016, 2018, 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 UpdateBootVolumeBackupDetails(object):
+ """
+ UpdateBootVolumeBackupDetails model.
+ """
+
+ def __init__(self, **kwargs):
+ """
+ Initializes a new UpdateBootVolumeBackupDetails object with values from keyword arguments.
+ The following keyword arguments are supported (corresponding to the getters/setters of this class):
+
+ :param defined_tags:
+ The value to assign to the defined_tags property of this UpdateBootVolumeBackupDetails.
+ :type defined_tags: dict(str, dict(str, object))
+
+ :param display_name:
+ The value to assign to the display_name property of this UpdateBootVolumeBackupDetails.
+ :type display_name: str
+
+ :param freeform_tags:
+ The value to assign to the freeform_tags property of this UpdateBootVolumeBackupDetails.
+ :type freeform_tags: dict(str, str)
+
+ """
+ self.swagger_types = {
+ 'defined_tags': 'dict(str, dict(str, object))',
+ 'display_name': 'str',
+ 'freeform_tags': 'dict(str, str)'
+ }
+
+ self.attribute_map = {
+ 'defined_tags': 'definedTags',
+ 'display_name': 'displayName',
+ 'freeform_tags': 'freeformTags'
+ }
+
+ self._defined_tags = None
+ self._display_name = None
+ self._freeform_tags = None
+
+ @property
+ def defined_tags(self):
+ """
+ Gets the defined_tags of this UpdateBootVolumeBackupDetails.
+ Defined tags for this resource. Each key is predefined and scoped to a namespace.
+ For more information, see `Resource Tags`__.
+
+ Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm
+
+
+ :return: The defined_tags of this UpdateBootVolumeBackupDetails.
+ :rtype: dict(str, dict(str, object))
+ """
+ return self._defined_tags
+
+ @defined_tags.setter
+ def defined_tags(self, defined_tags):
+ """
+ Sets the defined_tags of this UpdateBootVolumeBackupDetails.
+ Defined tags for this resource. Each key is predefined and scoped to a namespace.
+ For more information, see `Resource Tags`__.
+
+ Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm
+
+
+ :param defined_tags: The defined_tags of this UpdateBootVolumeBackupDetails.
+ :type: dict(str, dict(str, object))
+ """
+ self._defined_tags = defined_tags
+
+ @property
+ def display_name(self):
+ """
+ Gets the display_name of this UpdateBootVolumeBackupDetails.
+ A friendly user-specified name for the boot volume backup.
+ Avoid entering confidential information.
+
+
+ :return: The display_name of this UpdateBootVolumeBackupDetails.
+ :rtype: str
+ """
+ return self._display_name
+
+ @display_name.setter
+ def display_name(self, display_name):
+ """
+ Sets the display_name of this UpdateBootVolumeBackupDetails.
+ A friendly user-specified name for the boot volume backup.
+ Avoid entering confidential information.
+
+
+ :param display_name: The display_name of this UpdateBootVolumeBackupDetails.
+ :type: str
+ """
+ self._display_name = display_name
+
+ @property
+ def freeform_tags(self):
+ """
+ Gets the freeform_tags of this UpdateBootVolumeBackupDetails.
+ Free-form tags for this resource. Each tag is a simple key-value pair with no
+ predefined name, type, or namespace. For more information, see
+ `Resource Tags`__.
+
+ Example: `{\"Department\": \"Finance\"}`
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm
+
+
+ :return: The freeform_tags of this UpdateBootVolumeBackupDetails.
+ :rtype: dict(str, str)
+ """
+ return self._freeform_tags
+
+ @freeform_tags.setter
+ def freeform_tags(self, freeform_tags):
+ """
+ Sets the freeform_tags of this UpdateBootVolumeBackupDetails.
+ Free-form tags for this resource. Each tag is a simple key-value pair with no
+ predefined name, type, or namespace. For more information, see
+ `Resource Tags`__.
+
+ Example: `{\"Department\": \"Finance\"}`
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm
+
+
+ :param freeform_tags: The freeform_tags of this UpdateBootVolumeBackupDetails.
+ :type: dict(str, str)
+ """
+ self._freeform_tags = freeform_tags
+
+ 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/core/models/update_boot_volume_details.py b/src/oci/core/models/update_boot_volume_details.py
index d57c0df5c2..762a82177c 100644
--- a/src/oci/core/models/update_boot_volume_details.py
+++ b/src/oci/core/models/update_boot_volume_details.py
@@ -17,20 +17,68 @@ def __init__(self, **kwargs):
Initializes a new UpdateBootVolumeDetails object with values from keyword arguments.
The following keyword arguments are supported (corresponding to the getters/setters of this class):
+ :param defined_tags:
+ The value to assign to the defined_tags property of this UpdateBootVolumeDetails.
+ :type defined_tags: dict(str, dict(str, object))
+
:param display_name:
The value to assign to the display_name property of this UpdateBootVolumeDetails.
:type display_name: str
+ :param freeform_tags:
+ The value to assign to the freeform_tags property of this UpdateBootVolumeDetails.
+ :type freeform_tags: dict(str, str)
+
"""
self.swagger_types = {
- 'display_name': 'str'
+ 'defined_tags': 'dict(str, dict(str, object))',
+ 'display_name': 'str',
+ 'freeform_tags': 'dict(str, str)'
}
self.attribute_map = {
- 'display_name': 'displayName'
+ 'defined_tags': 'definedTags',
+ 'display_name': 'displayName',
+ 'freeform_tags': 'freeformTags'
}
+ self._defined_tags = None
self._display_name = None
+ self._freeform_tags = None
+
+ @property
+ def defined_tags(self):
+ """
+ Gets the defined_tags of this UpdateBootVolumeDetails.
+ Defined tags for this resource. Each key is predefined and scoped to a namespace.
+ For more information, see `Resource Tags`__.
+
+ Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm
+
+
+ :return: The defined_tags of this UpdateBootVolumeDetails.
+ :rtype: dict(str, dict(str, object))
+ """
+ return self._defined_tags
+
+ @defined_tags.setter
+ def defined_tags(self, defined_tags):
+ """
+ Sets the defined_tags of this UpdateBootVolumeDetails.
+ Defined tags for this resource. Each key is predefined and scoped to a namespace.
+ For more information, see `Resource Tags`__.
+
+ Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm
+
+
+ :param defined_tags: The defined_tags of this UpdateBootVolumeDetails.
+ :type: dict(str, dict(str, object))
+ """
+ self._defined_tags = defined_tags
@property
def display_name(self):
@@ -58,6 +106,42 @@ def display_name(self, display_name):
"""
self._display_name = display_name
+ @property
+ def freeform_tags(self):
+ """
+ Gets the freeform_tags of this UpdateBootVolumeDetails.
+ Free-form tags for this resource. Each tag is a simple key-value pair with no
+ predefined name, type, or namespace. For more information, see
+ `Resource Tags`__.
+
+ Example: `{\"Department\": \"Finance\"}`
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm
+
+
+ :return: The freeform_tags of this UpdateBootVolumeDetails.
+ :rtype: dict(str, str)
+ """
+ return self._freeform_tags
+
+ @freeform_tags.setter
+ def freeform_tags(self, freeform_tags):
+ """
+ Sets the freeform_tags of this UpdateBootVolumeDetails.
+ Free-form tags for this resource. Each tag is a simple key-value pair with no
+ predefined name, type, or namespace. For more information, see
+ `Resource Tags`__.
+
+ Example: `{\"Department\": \"Finance\"}`
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm
+
+
+ :param freeform_tags: The freeform_tags of this UpdateBootVolumeDetails.
+ :type: dict(str, str)
+ """
+ self._freeform_tags = freeform_tags
+
def __repr__(self):
return formatted_flat_dict(self)
diff --git a/src/oci/core/models/update_service_gateway_details.py b/src/oci/core/models/update_service_gateway_details.py
new file mode 100644
index 0000000000..aba41f68d7
--- /dev/null
+++ b/src/oci/core/models/update_service_gateway_details.py
@@ -0,0 +1,225 @@
+# coding: utf-8
+# Copyright (c) 2016, 2018, 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 UpdateServiceGatewayDetails(object):
+ """
+ UpdateServiceGatewayDetails model.
+ """
+
+ def __init__(self, **kwargs):
+ """
+ Initializes a new UpdateServiceGatewayDetails object with values from keyword arguments.
+ The following keyword arguments are supported (corresponding to the getters/setters of this class):
+
+ :param block_traffic:
+ The value to assign to the block_traffic property of this UpdateServiceGatewayDetails.
+ :type block_traffic: bool
+
+ :param defined_tags:
+ The value to assign to the defined_tags property of this UpdateServiceGatewayDetails.
+ :type defined_tags: dict(str, dict(str, object))
+
+ :param display_name:
+ The value to assign to the display_name property of this UpdateServiceGatewayDetails.
+ :type display_name: str
+
+ :param freeform_tags:
+ The value to assign to the freeform_tags property of this UpdateServiceGatewayDetails.
+ :type freeform_tags: dict(str, str)
+
+ :param services:
+ The value to assign to the services property of this UpdateServiceGatewayDetails.
+ :type services: list[ServiceIdRequestDetails]
+
+ """
+ self.swagger_types = {
+ 'block_traffic': 'bool',
+ 'defined_tags': 'dict(str, dict(str, object))',
+ 'display_name': 'str',
+ 'freeform_tags': 'dict(str, str)',
+ 'services': 'list[ServiceIdRequestDetails]'
+ }
+
+ self.attribute_map = {
+ 'block_traffic': 'blockTraffic',
+ 'defined_tags': 'definedTags',
+ 'display_name': 'displayName',
+ 'freeform_tags': 'freeformTags',
+ 'services': 'services'
+ }
+
+ self._block_traffic = None
+ self._defined_tags = None
+ self._display_name = None
+ self._freeform_tags = None
+ self._services = None
+
+ @property
+ def block_traffic(self):
+ """
+ Gets the block_traffic of this UpdateServiceGatewayDetails.
+ Whether the service gateway blocks all traffic through it. The default is `false`. When
+ this is `true`, traffic is not routed to any services, regardless of route rules.
+
+ Example: `true`
+
+
+ :return: The block_traffic of this UpdateServiceGatewayDetails.
+ :rtype: bool
+ """
+ return self._block_traffic
+
+ @block_traffic.setter
+ def block_traffic(self, block_traffic):
+ """
+ Sets the block_traffic of this UpdateServiceGatewayDetails.
+ Whether the service gateway blocks all traffic through it. The default is `false`. When
+ this is `true`, traffic is not routed to any services, regardless of route rules.
+
+ Example: `true`
+
+
+ :param block_traffic: The block_traffic of this UpdateServiceGatewayDetails.
+ :type: bool
+ """
+ self._block_traffic = block_traffic
+
+ @property
+ def defined_tags(self):
+ """
+ Gets the defined_tags of this UpdateServiceGatewayDetails.
+ Usage of predefined tag keys. These predefined keys are scoped to namespaces.
+ Example: `{\"foo-namespace\": {\"bar-key\": \"foo-value\"}}`
+
+
+ :return: The defined_tags of this UpdateServiceGatewayDetails.
+ :rtype: dict(str, dict(str, object))
+ """
+ return self._defined_tags
+
+ @defined_tags.setter
+ def defined_tags(self, defined_tags):
+ """
+ Sets the defined_tags of this UpdateServiceGatewayDetails.
+ Usage of predefined tag keys. These predefined keys are scoped to namespaces.
+ Example: `{\"foo-namespace\": {\"bar-key\": \"foo-value\"}}`
+
+
+ :param defined_tags: The defined_tags of this UpdateServiceGatewayDetails.
+ :type: dict(str, dict(str, object))
+ """
+ self._defined_tags = defined_tags
+
+ @property
+ def display_name(self):
+ """
+ Gets the display_name of this UpdateServiceGatewayDetails.
+ A user-friendly name. Does not have to be unique, and it's changeable.
+ Avoid entering confidential information.
+
+
+ :return: The display_name of this UpdateServiceGatewayDetails.
+ :rtype: str
+ """
+ return self._display_name
+
+ @display_name.setter
+ def display_name(self, display_name):
+ """
+ Sets the display_name of this UpdateServiceGatewayDetails.
+ A user-friendly name. Does not have to be unique, and it's changeable.
+ Avoid entering confidential information.
+
+
+ :param display_name: The display_name of this UpdateServiceGatewayDetails.
+ :type: str
+ """
+ self._display_name = display_name
+
+ @property
+ def freeform_tags(self):
+ """
+ Gets the freeform_tags of this UpdateServiceGatewayDetails.
+ Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only.
+ Example: `{\"bar-key\": \"value\"}`
+
+
+ :return: The freeform_tags of this UpdateServiceGatewayDetails.
+ :rtype: dict(str, str)
+ """
+ return self._freeform_tags
+
+ @freeform_tags.setter
+ def freeform_tags(self, freeform_tags):
+ """
+ Sets the freeform_tags of this UpdateServiceGatewayDetails.
+ Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only.
+ Example: `{\"bar-key\": \"value\"}`
+
+
+ :param freeform_tags: The freeform_tags of this UpdateServiceGatewayDetails.
+ :type: dict(str, str)
+ """
+ self._freeform_tags = freeform_tags
+
+ @property
+ def services(self):
+ """
+ Gets the services of this UpdateServiceGatewayDetails.
+ List of all the services you want enabled on this service gateway. Sending an empty list
+ means you want to disable all services. Omitting this parameter entirely keeps the
+ existing list of services intact.
+
+ You can also enable or disable a particular service by using
+ :func:`attach_service_id` and
+ :func:`detach_service_id`.
+
+ For each enabled service, make sure there's a route rule with the service's `cidrBlock`
+ as the rule's destination CIDR and the service gateway as the rule's target. See
+ :class:`RouteTable`.
+
+
+ :return: The services of this UpdateServiceGatewayDetails.
+ :rtype: list[ServiceIdRequestDetails]
+ """
+ return self._services
+
+ @services.setter
+ def services(self, services):
+ """
+ Sets the services of this UpdateServiceGatewayDetails.
+ List of all the services you want enabled on this service gateway. Sending an empty list
+ means you want to disable all services. Omitting this parameter entirely keeps the
+ existing list of services intact.
+
+ You can also enable or disable a particular service by using
+ :func:`attach_service_id` and
+ :func:`detach_service_id`.
+
+ For each enabled service, make sure there's a route rule with the service's `cidrBlock`
+ as the rule's destination CIDR and the service gateway as the rule's target. See
+ :class:`RouteTable`.
+
+
+ :param services: The services of this UpdateServiceGatewayDetails.
+ :type: list[ServiceIdRequestDetails]
+ """
+ self._services = services
+
+ 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/core/models/volume_group.py b/src/oci/core/models/volume_group.py
index 0ceb04cb23..0a2a315c53 100644
--- a/src/oci/core/models/volume_group.py
+++ b/src/oci/core/models/volume_group.py
@@ -9,7 +9,9 @@
@init_model_state_from_kwargs
class VolumeGroup(object):
"""
- Specifies a volume group. A volume group is a collection of block volumes.
+ Specifies a volume group which is a collection of volumes. For more information, see `Volume Groups`__.
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/Block/Concepts/volumegroups.htm
"""
#: A constant which can be used with the lifecycle_state property of a VolumeGroup.
@@ -71,6 +73,10 @@ def __init__(self, **kwargs):
The value to assign to the size_in_mbs property of this VolumeGroup.
:type size_in_mbs: int
+ :param size_in_gbs:
+ The value to assign to the size_in_gbs property of this VolumeGroup.
+ :type size_in_gbs: int
+
:param source_details:
The value to assign to the source_details property of this VolumeGroup.
:type source_details: VolumeGroupSourceDetails
@@ -93,6 +99,7 @@ def __init__(self, **kwargs):
'id': 'str',
'lifecycle_state': 'str',
'size_in_mbs': 'int',
+ 'size_in_gbs': 'int',
'source_details': 'VolumeGroupSourceDetails',
'time_created': 'datetime',
'volume_ids': 'list[str]'
@@ -107,6 +114,7 @@ def __init__(self, **kwargs):
'id': 'id',
'lifecycle_state': 'lifecycleState',
'size_in_mbs': 'sizeInMBs',
+ 'size_in_gbs': 'sizeInGBs',
'source_details': 'sourceDetails',
'time_created': 'timeCreated',
'volume_ids': 'volumeIds'
@@ -120,6 +128,7 @@ def __init__(self, **kwargs):
self._id = None
self._lifecycle_state = None
self._size_in_mbs = None
+ self._size_in_gbs = None
self._source_details = None
self._time_created = None
self._volume_ids = None
@@ -128,7 +137,7 @@ def __init__(self, **kwargs):
def availability_domain(self):
"""
**[Required]** Gets the availability_domain of this VolumeGroup.
- The Availability Domain of the volume group.
+ The availability domain of the volume group.
:return: The availability_domain of this VolumeGroup.
@@ -140,7 +149,7 @@ def availability_domain(self):
def availability_domain(self, availability_domain):
"""
Sets the availability_domain of this VolumeGroup.
- The Availability Domain of the volume group.
+ The availability domain of the volume group.
:param availability_domain: The availability_domain of this VolumeGroup.
@@ -210,7 +219,7 @@ def defined_tags(self, defined_tags):
def display_name(self):
"""
**[Required]** Gets the display_name of this VolumeGroup.
- A user-friendly name for the volume group. Does not have to be unique, and it's changeable.
+ A user-friendly name for the volume group. Does not have to be unique, and it's changeable. Avoid entering confidential information.
:return: The display_name of this VolumeGroup.
@@ -222,7 +231,7 @@ def display_name(self):
def display_name(self, display_name):
"""
Sets the display_name of this VolumeGroup.
- A user-friendly name for the volume group. Does not have to be unique, and it's changeable.
+ A user-friendly name for the volume group. Does not have to be unique, and it's changeable. Avoid entering confidential information.
:param display_name: The display_name of this VolumeGroup.
@@ -270,7 +279,7 @@ def freeform_tags(self, freeform_tags):
def id(self):
"""
**[Required]** Gets the id of this VolumeGroup.
- The Oracle Cloud ID (OCID) that uniquely identifies the volume group.
+ The OCID for the volume group.
:return: The id of this VolumeGroup.
@@ -282,7 +291,7 @@ def id(self):
def id(self, id):
"""
Sets the id of this VolumeGroup.
- The Oracle Cloud ID (OCID) that uniquely identifies the volume group.
+ The OCID for the volume group.
:param id: The id of this VolumeGroup.
@@ -344,12 +353,36 @@ def size_in_mbs(self, size_in_mbs):
"""
self._size_in_mbs = size_in_mbs
+ @property
+ def size_in_gbs(self):
+ """
+ Gets the size_in_gbs of this VolumeGroup.
+ The aggregate size of the volume group in GBs.
+
+
+ :return: The size_in_gbs of this VolumeGroup.
+ :rtype: int
+ """
+ return self._size_in_gbs
+
+ @size_in_gbs.setter
+ def size_in_gbs(self, size_in_gbs):
+ """
+ Sets the size_in_gbs of this VolumeGroup.
+ The aggregate size of the volume group in GBs.
+
+
+ :param size_in_gbs: The size_in_gbs of this VolumeGroup.
+ :type: int
+ """
+ self._size_in_gbs = size_in_gbs
+
@property
def source_details(self):
"""
Gets the source_details of this VolumeGroup.
- The volume group source. The volume source is either another a list of
- volume ids in the same Availability Domain, another volume group or a volume group backup.
+ The volume group source. The source is either another a list of
+ volume IDs in the same availability domain, another volume group, or a volume group backup.
:return: The source_details of this VolumeGroup.
@@ -361,8 +394,8 @@ def source_details(self):
def source_details(self, source_details):
"""
Sets the source_details of this VolumeGroup.
- The volume group source. The volume source is either another a list of
- volume ids in the same Availability Domain, another volume group or a volume group backup.
+ The volume group source. The source is either another a list of
+ volume IDs in the same availability domain, another volume group, or a volume group backup.
:param source_details: The source_details of this VolumeGroup.
diff --git a/src/oci/core/models/volume_group_backup.py b/src/oci/core/models/volume_group_backup.py
index aedcd28438..f2e2499db4 100644
--- a/src/oci/core/models/volume_group_backup.py
+++ b/src/oci/core/models/volume_group_backup.py
@@ -9,13 +9,14 @@
@init_model_state_from_kwargs
class VolumeGroupBackup(object):
"""
- A point-in-time copy of a volume group that can then be used to create a new block volume group
- or recover a block volume group.
+ A point-in-time copy of a volume group that can then be used to create a new volume group
+ or restore a volume group. For more information, see `Volume Groups`__.
To use any of the API operations, you must be authorized in an IAM policy. If you're not authorized,
talk to an administrator. If you're an administrator who needs to write policies to give users access, see
`Getting Started with Policies`__.
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/Block/Concepts/volumegroups.htm
__ https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/policygetstarted.htm
"""
@@ -90,6 +91,10 @@ def __init__(self, **kwargs):
The value to assign to the size_in_mbs property of this VolumeGroupBackup.
:type size_in_mbs: int
+ :param size_in_gbs:
+ The value to assign to the size_in_gbs property of this VolumeGroupBackup.
+ :type size_in_gbs: int
+
:param time_created:
The value to assign to the time_created property of this VolumeGroupBackup.
:type time_created: datetime
@@ -108,6 +113,10 @@ def __init__(self, **kwargs):
The value to assign to the unique_size_in_mbs property of this VolumeGroupBackup.
:type unique_size_in_mbs: int
+ :param unique_size_in_gbs:
+ The value to assign to the unique_size_in_gbs property of this VolumeGroupBackup.
+ :type unique_size_in_gbs: int
+
:param volume_backup_ids:
The value to assign to the volume_backup_ids property of this VolumeGroupBackup.
:type volume_backup_ids: list[str]
@@ -125,10 +134,12 @@ def __init__(self, **kwargs):
'id': 'str',
'lifecycle_state': 'str',
'size_in_mbs': 'int',
+ 'size_in_gbs': 'int',
'time_created': 'datetime',
'time_request_received': 'datetime',
'type': 'str',
'unique_size_in_mbs': 'int',
+ 'unique_size_in_gbs': 'int',
'volume_backup_ids': 'list[str]',
'volume_group_id': 'str'
}
@@ -141,10 +152,12 @@ def __init__(self, **kwargs):
'id': 'id',
'lifecycle_state': 'lifecycleState',
'size_in_mbs': 'sizeInMBs',
+ 'size_in_gbs': 'sizeInGBs',
'time_created': 'timeCreated',
'time_request_received': 'timeRequestReceived',
'type': 'type',
'unique_size_in_mbs': 'uniqueSizeInMbs',
+ 'unique_size_in_gbs': 'uniqueSizeInGbs',
'volume_backup_ids': 'volumeBackupIds',
'volume_group_id': 'volumeGroupId'
}
@@ -156,10 +169,12 @@ def __init__(self, **kwargs):
self._id = None
self._lifecycle_state = None
self._size_in_mbs = None
+ self._size_in_gbs = None
self._time_created = None
self._time_request_received = None
self._type = None
self._unique_size_in_mbs = None
+ self._unique_size_in_gbs = None
self._volume_backup_ids = None
self._volume_group_id = None
@@ -225,7 +240,7 @@ def defined_tags(self, defined_tags):
def display_name(self):
"""
**[Required]** Gets the display_name of this VolumeGroupBackup.
- A user-friendly name for the volume group backup. Does not have to be unique and it's changeable.
+ A user-friendly name for the volume group backup. Does not have to be unique and it's changeable. Avoid entering confidential information.
:return: The display_name of this VolumeGroupBackup.
@@ -237,7 +252,7 @@ def display_name(self):
def display_name(self, display_name):
"""
Sets the display_name of this VolumeGroupBackup.
- A user-friendly name for the volume group backup. Does not have to be unique and it's changeable.
+ A user-friendly name for the volume group backup. Does not have to be unique and it's changeable. Avoid entering confidential information.
:param display_name: The display_name of this VolumeGroupBackup.
@@ -285,7 +300,7 @@ def freeform_tags(self, freeform_tags):
def id(self):
"""
**[Required]** Gets the id of this VolumeGroupBackup.
- The OCID of the volume group backup (unique).
+ The OCID of the volume group backup.
:return: The id of this VolumeGroupBackup.
@@ -297,7 +312,7 @@ def id(self):
def id(self, id):
"""
Sets the id of this VolumeGroupBackup.
- The OCID of the volume group backup (unique).
+ The OCID of the volume group backup.
:param id: The id of this VolumeGroupBackup.
@@ -359,6 +374,30 @@ def size_in_mbs(self, size_in_mbs):
"""
self._size_in_mbs = size_in_mbs
+ @property
+ def size_in_gbs(self):
+ """
+ Gets the size_in_gbs of this VolumeGroupBackup.
+ The aggregate size of the volume group backup, in GBs.
+
+
+ :return: The size_in_gbs of this VolumeGroupBackup.
+ :rtype: int
+ """
+ return self._size_in_gbs
+
+ @size_in_gbs.setter
+ def size_in_gbs(self, size_in_gbs):
+ """
+ Sets the size_in_gbs of this VolumeGroupBackup.
+ The aggregate size of the volume group backup, in GBs.
+
+
+ :param size_in_gbs: The size_in_gbs of this VolumeGroupBackup.
+ :type: int
+ """
+ self._size_in_gbs = size_in_gbs
+
@property
def time_created(self):
"""
@@ -445,7 +484,7 @@ def unique_size_in_mbs(self):
Gets the unique_size_in_mbs of this VolumeGroupBackup.
The aggregate size used by the volume group backup, in MBs.
It is typically smaller than sizeInMBs, depending on the space
- consumed on the volume group and whether the backup is full or incremental.
+ consumed on the volume group and whether the volume backup is full or incremental.
:return: The unique_size_in_mbs of this VolumeGroupBackup.
@@ -459,7 +498,7 @@ def unique_size_in_mbs(self, unique_size_in_mbs):
Sets the unique_size_in_mbs of this VolumeGroupBackup.
The aggregate size used by the volume group backup, in MBs.
It is typically smaller than sizeInMBs, depending on the space
- consumed on the volume group and whether the backup is full or incremental.
+ consumed on the volume group and whether the volume backup is full or incremental.
:param unique_size_in_mbs: The unique_size_in_mbs of this VolumeGroupBackup.
@@ -467,11 +506,39 @@ def unique_size_in_mbs(self, unique_size_in_mbs):
"""
self._unique_size_in_mbs = unique_size_in_mbs
+ @property
+ def unique_size_in_gbs(self):
+ """
+ Gets the unique_size_in_gbs of this VolumeGroupBackup.
+ The aggregate size used by the volume group backup, in GBs.
+ It is typically smaller than sizeInGBs, depending on the space
+ consumed on the volume group and whether the volume backup is full or incremental.
+
+
+ :return: The unique_size_in_gbs of this VolumeGroupBackup.
+ :rtype: int
+ """
+ return self._unique_size_in_gbs
+
+ @unique_size_in_gbs.setter
+ def unique_size_in_gbs(self, unique_size_in_gbs):
+ """
+ Sets the unique_size_in_gbs of this VolumeGroupBackup.
+ The aggregate size used by the volume group backup, in GBs.
+ It is typically smaller than sizeInGBs, depending on the space
+ consumed on the volume group and whether the volume backup is full or incremental.
+
+
+ :param unique_size_in_gbs: The unique_size_in_gbs of this VolumeGroupBackup.
+ :type: int
+ """
+ self._unique_size_in_gbs = unique_size_in_gbs
+
@property
def volume_backup_ids(self):
"""
**[Required]** Gets the volume_backup_ids of this VolumeGroupBackup.
- OCIDs for the backups in this volume group backup.
+ OCIDs for the volume backups in this volume group backup.
:return: The volume_backup_ids of this VolumeGroupBackup.
@@ -483,7 +550,7 @@ def volume_backup_ids(self):
def volume_backup_ids(self, volume_backup_ids):
"""
Sets the volume_backup_ids of this VolumeGroupBackup.
- OCIDs for the backups in this volume group backup.
+ OCIDs for the volume backups in this volume group backup.
:param volume_backup_ids: The volume_backup_ids of this VolumeGroupBackup.
diff --git a/src/oci/core/models/volume_group_source_from_volumes_details.py b/src/oci/core/models/volume_group_source_from_volumes_details.py
index e0a10b4ee2..08f5e599d0 100644
--- a/src/oci/core/models/volume_group_source_from_volumes_details.py
+++ b/src/oci/core/models/volume_group_source_from_volumes_details.py
@@ -9,7 +9,7 @@
@init_model_state_from_kwargs
class VolumeGroupSourceFromVolumesDetails(VolumeGroupSourceDetails):
"""
- Specifies volumes in a volume group.
+ Specifies the volumes in a volume group.
"""
def __init__(self, **kwargs):
diff --git a/src/oci/core/virtual_network_client.py b/src/oci/core/virtual_network_client.py
index dc927f52e5..bc4b438206 100644
--- a/src/oci/core/virtual_network_client.py
+++ b/src/oci/core/virtual_network_client.py
@@ -78,6 +78,97 @@ def __init__(self, config, **kwargs):
self.base_client = BaseClient("virtual_network", config, signer, core_type_mapping, **base_client_init_kwargs)
self.retry_strategy = kwargs.get('retry_strategy')
+ def attach_service_id(self, service_gateway_id, attach_service_details, **kwargs):
+ """
+ AttachService
+ Enables the specified service on the specified gateway. In other words, enables the service
+ gateway to send traffic to the specified service. You must also set up a route rule with the
+ service's `cidrBlock` as the rule's destination CIDR and the gateway as the rule's target.
+ See :class:`RouteTable`.
+
+ **Note:** The `AttachServiceId` operation is an easy way to enable an individual service on
+ the service gateway. Compare it with
+ :func:`update_service_gateway`, which also
+ lets you enable an individual service. However, with `UpdateServiceGateway`, you must specify
+ the *entire* list of services you want enabled on the service gateway.
+
+
+ :param str service_gateway_id: (required)
+ The service gateway's `OCID`__.
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm
+
+ :param ServiceIdRequestDetails attach_service_details: (required)
+ ServiceId of Service to be attached to a Service Gateway.
+
+ :param str if_match: (optional)
+ For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
+ parameter to the value of the etag from a previous GET or POST response for that resource. The resource
+ will be updated or deleted only if the etag you provide matches the resource's current etag value.
+
+ :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 :class:`~oci.core.models.ServiceGateway`
+ :rtype: :class:`~oci.response.Response`
+ """
+ resource_path = "/serviceGateways/{serviceGatewayId}/actions/attachService"
+ method = "POST"
+
+ # Don't accept unknown kwargs
+ expected_kwargs = [
+ "retry_strategy",
+ "if_match"
+ ]
+ extra_kwargs = [key for key in six.iterkeys(kwargs) if key not in expected_kwargs]
+ if extra_kwargs:
+ raise ValueError(
+ "attach_service_id got unknown kwargs: {!r}".format(extra_kwargs))
+
+ path_params = {
+ "serviceGatewayId": service_gateway_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",
+ "if-match": kwargs.get("if_match", 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,
+ body=attach_service_details,
+ response_type="ServiceGateway")
+ else:
+ return self.base_client.call_api(
+ resource_path=resource_path,
+ method=method,
+ path_params=path_params,
+ header_params=header_params,
+ body=attach_service_details,
+ response_type="ServiceGateway")
+
def bulk_add_virtual_circuit_public_prefixes(self, virtual_circuit_id, bulk_add_virtual_circuit_public_prefixes_details, **kwargs):
"""
BulkAddVirtualCircuitPublicPrefixes
@@ -889,7 +980,7 @@ def create_internet_gateway(self, create_internet_gateway_details, **kwargs):
"""
CreateInternetGateway
Creates a new Internet Gateway for the specified VCN. For more information, see
- `Connectivity to the Internet`__.
+ `Access to the Internet`__.
For the purposes of access control, you must provide the OCID of the compartment where you want the Internet
Gateway to reside. Notice that the Internet Gateway doesn't have to be in the same compartment as the VCN or
@@ -1553,6 +1644,86 @@ def create_security_list(self, create_security_list_details, **kwargs):
body=create_security_list_details,
response_type="SecurityList")
+ def create_service_gateway(self, create_service_gateway_details, **kwargs):
+ """
+ CreateServiceGateway
+ Creates a new service gateway in the specified compartment.
+
+ For the purposes of access control, you must provide the OCID of the compartment where you want
+ the service gateway to reside. For more information about compartments and access control, see
+ `Overview of the IAM Service`__.
+ For information about OCIDs, see `Resource Identifiers`__.
+
+ You may optionally specify a *display name* for the service gateway, otherwise a default is provided.
+ It does not have to be unique, and you can change it. Avoid entering confidential information.
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/overview.htm
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm
+
+
+ :param CreateServiceGatewayDetails create_service_gateway_details: (required)
+ Details for creating a service gateway.
+
+ :param str opc_retry_token: (optional)
+ A token that uniquely identifies a request so it can be retried in case of a timeout or
+ server error without risk of executing that same action again. Retry tokens expire after 24
+ hours, but can be invalidated before then due to conflicting operations (for example, if a resource
+ has been deleted and purged from the system, then a retry of the original creation request
+ may be rejected).
+
+ :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 :class:`~oci.core.models.ServiceGateway`
+ :rtype: :class:`~oci.response.Response`
+ """
+ resource_path = "/serviceGateways"
+ method = "POST"
+
+ # Don't accept unknown kwargs
+ expected_kwargs = [
+ "retry_strategy",
+ "opc_retry_token"
+ ]
+ extra_kwargs = [key for key in six.iterkeys(kwargs) if key not in expected_kwargs]
+ if extra_kwargs:
+ raise ValueError(
+ "create_service_gateway got unknown kwargs: {!r}".format(extra_kwargs))
+
+ header_params = {
+ "accept": "application/json",
+ "content-type": "application/json",
+ "opc-retry-token": kwargs.get("opc_retry_token", 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:
+ if not isinstance(retry_strategy, retry.NoneRetryStrategy):
+ self.base_client.add_opc_retry_token_if_needed(header_params)
+ return retry_strategy.make_retrying_call(
+ self.base_client.call_api,
+ resource_path=resource_path,
+ method=method,
+ header_params=header_params,
+ body=create_service_gateway_details,
+ response_type="ServiceGateway")
+ else:
+ return self.base_client.call_api(
+ resource_path=resource_path,
+ method=method,
+ header_params=header_params,
+ body=create_service_gateway_details,
+ response_type="ServiceGateway")
+
def create_subnet(self, create_subnet_details, **kwargs):
"""
CreateSubnet
@@ -2942,6 +3113,82 @@ def delete_security_list(self, security_list_id, **kwargs):
path_params=path_params,
header_params=header_params)
+ def delete_service_gateway(self, service_gateway_id, **kwargs):
+ """
+ DeleteServiceGateway
+ Deletes the specified service gateway. There must not be a route table that lists the service
+ gateway as a target.
+
+
+ :param str service_gateway_id: (required)
+ The service gateway's `OCID`__.
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm
+
+ :param str if_match: (optional)
+ For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
+ parameter to the value of the etag from a previous GET or POST response for that resource. The resource
+ will be updated or deleted only if the etag you provide matches the resource's current etag value.
+
+ :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 = "/serviceGateways/{serviceGatewayId}"
+ method = "DELETE"
+
+ # Don't accept unknown kwargs
+ expected_kwargs = [
+ "retry_strategy",
+ "if_match"
+ ]
+ extra_kwargs = [key for key in six.iterkeys(kwargs) if key not in expected_kwargs]
+ if extra_kwargs:
+ raise ValueError(
+ "delete_service_gateway got unknown kwargs: {!r}".format(extra_kwargs))
+
+ path_params = {
+ "serviceGatewayId": service_gateway_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",
+ "if-match": kwargs.get("if_match", 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 delete_subnet(self, subnet_id, **kwargs):
"""
DeleteSubnet
@@ -3169,6 +3416,100 @@ def delete_virtual_circuit(self, virtual_circuit_id, **kwargs):
path_params=path_params,
header_params=header_params)
+ def detach_service_id(self, service_gateway_id, detach_service_details, **kwargs):
+ """
+ DetachService
+ Disables the specified service on the specified gateway. In other words, stops the service
+ gateway from sending traffic to the specified service. You do not need to remove any route
+ rules that specify this service's `cidrBlock` as the destination CIDR. However, consider
+ removing the rules if your intent is to permanently disable use of the service through this
+ service gateway.
+
+ **Note:** The `DetachServiceId` operation is an easy way to disable an individual service on
+ the service gateway. Compare it with
+ :func:`update_service_gateway`, which also
+ lets you disable an individual service. However, with `UpdateServiceGateway`, you must specify
+ the *entire* list of services you want enabled on the service gateway. `UpdateServiceGateway`
+ also lets you block all traffic through the service gateway without having to disable each of
+ the individual services.
+
+
+ :param str service_gateway_id: (required)
+ The service gateway's `OCID`__.
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm
+
+ :param ServiceIdRequestDetails detach_service_details: (required)
+ ServiceId of Service to be detached from a Service Gateway.
+
+ :param str if_match: (optional)
+ For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
+ parameter to the value of the etag from a previous GET or POST response for that resource. The resource
+ will be updated or deleted only if the etag you provide matches the resource's current etag value.
+
+ :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 :class:`~oci.core.models.ServiceGateway`
+ :rtype: :class:`~oci.response.Response`
+ """
+ resource_path = "/serviceGateways/{serviceGatewayId}/actions/detachService"
+ method = "POST"
+
+ # Don't accept unknown kwargs
+ expected_kwargs = [
+ "retry_strategy",
+ "if_match"
+ ]
+ extra_kwargs = [key for key in six.iterkeys(kwargs) if key not in expected_kwargs]
+ if extra_kwargs:
+ raise ValueError(
+ "detach_service_id got unknown kwargs: {!r}".format(extra_kwargs))
+
+ path_params = {
+ "serviceGatewayId": service_gateway_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",
+ "if-match": kwargs.get("if_match", 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,
+ body=detach_service_details,
+ response_type="ServiceGateway")
+ else:
+ return self.base_client.call_api(
+ resource_path=resource_path,
+ method=method,
+ path_params=path_params,
+ header_params=header_params,
+ body=detach_service_details,
+ response_type="ServiceGateway")
+
def get_cpe(self, cpe_id, **kwargs):
"""
GetCpe
@@ -4468,8 +4809,140 @@ def get_security_list(self, security_list_id, **kwargs):
Gets the specified security list's information.
- :param str security_list_id: (required)
- The OCID of the security list.
+ :param str security_list_id: (required)
+ The OCID of the security list.
+
+ :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 :class:`~oci.core.models.SecurityList`
+ :rtype: :class:`~oci.response.Response`
+ """
+ resource_path = "/securityLists/{securityListId}"
+ method = "GET"
+
+ expected_kwargs = ["retry_strategy"]
+ extra_kwargs = [key for key in six.iterkeys(kwargs) if key not in expected_kwargs]
+ if extra_kwargs:
+ raise ValueError(
+ "get_security_list got unknown kwargs: {!r}".format(extra_kwargs))
+
+ path_params = {
+ "securityListId": security_list_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"
+ }
+
+ retry_strategy = self.retry_strategy
+ if kwargs.get('retry_strategy'):
+ retry_strategy = kwargs.get('retry_strategy')
+
+ if retry_strategy:
+ return retry_strategy.make_retrying_call(
+ self.base_client.call_api,
+ resource_path=resource_path,
+ method=method,
+ path_params=path_params,
+ header_params=header_params,
+ response_type="SecurityList")
+ else:
+ return self.base_client.call_api(
+ resource_path=resource_path,
+ method=method,
+ path_params=path_params,
+ header_params=header_params,
+ response_type="SecurityList")
+
+ def get_service(self, service_id, **kwargs):
+ """
+ GetService
+ Gets the specified service's information.
+
+
+ :param str service_id: (required)
+ The service's `OCID`__.
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm
+
+ :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 :class:`~oci.core.models.Service`
+ :rtype: :class:`~oci.response.Response`
+ """
+ resource_path = "/services/{serviceId}"
+ method = "GET"
+
+ expected_kwargs = ["retry_strategy"]
+ extra_kwargs = [key for key in six.iterkeys(kwargs) if key not in expected_kwargs]
+ if extra_kwargs:
+ raise ValueError(
+ "get_service got unknown kwargs: {!r}".format(extra_kwargs))
+
+ path_params = {
+ "serviceId": service_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"
+ }
+
+ retry_strategy = self.retry_strategy
+ if kwargs.get('retry_strategy'):
+ retry_strategy = kwargs.get('retry_strategy')
+
+ if retry_strategy:
+ return retry_strategy.make_retrying_call(
+ self.base_client.call_api,
+ resource_path=resource_path,
+ method=method,
+ path_params=path_params,
+ header_params=header_params,
+ response_type="Service")
+ else:
+ return self.base_client.call_api(
+ resource_path=resource_path,
+ method=method,
+ path_params=path_params,
+ header_params=header_params,
+ response_type="Service")
+
+ def get_service_gateway(self, service_gateway_id, **kwargs):
+ """
+ GetServiceGateway
+ Gets the specified service gateway's information.
+
+
+ :param str service_gateway_id: (required)
+ The service gateway's `OCID`__.
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm
: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.
@@ -4479,20 +4952,20 @@ def get_security_list(self, security_list_id, **kwargs):
To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.
- :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.core.models.SecurityList`
+ :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.core.models.ServiceGateway`
:rtype: :class:`~oci.response.Response`
"""
- resource_path = "/securityLists/{securityListId}"
+ resource_path = "/serviceGateways/{serviceGatewayId}"
method = "GET"
expected_kwargs = ["retry_strategy"]
extra_kwargs = [key for key in six.iterkeys(kwargs) if key not in expected_kwargs]
if extra_kwargs:
raise ValueError(
- "get_security_list got unknown kwargs: {!r}".format(extra_kwargs))
+ "get_service_gateway got unknown kwargs: {!r}".format(extra_kwargs))
path_params = {
- "securityListId": security_list_id
+ "serviceGatewayId": service_gateway_id
}
path_params = {k: v for (k, v) in six.iteritems(path_params) if v is not missing}
@@ -4517,14 +4990,14 @@ def get_security_list(self, security_list_id, **kwargs):
method=method,
path_params=path_params,
header_params=header_params,
- response_type="SecurityList")
+ response_type="ServiceGateway")
else:
return self.base_client.call_api(
resource_path=resource_path,
method=method,
path_params=path_params,
header_params=header_params,
- response_type="SecurityList")
+ response_type="ServiceGateway")
def get_subnet(self, subnet_id, **kwargs):
"""
@@ -6644,6 +7117,206 @@ def list_security_lists(self, compartment_id, vcn_id, **kwargs):
header_params=header_params,
response_type="list[SecurityList]")
+ def list_service_gateways(self, compartment_id, **kwargs):
+ """
+ ListServiceGateways
+ Lists the service gateways in the specified compartment. You may optionally specify a VCN OCID
+ to filter the results by VCN.
+
+
+ :param str compartment_id: (required)
+ The OCID of the compartment.
+
+ :param str vcn_id: (optional)
+ The OCID of the VCN.
+
+ :param int limit: (optional)
+ The maximum number of items to return in a paginated \"List\" call.
+
+ Example: `500`
+
+ :param str page: (optional)
+ The value of the `opc-next-page` response header from the previous \"List\" call.
+
+ :param str sort_by: (optional)
+ The field to sort by. You can provide one sort order (`sortOrder`). Default order for
+ TIMECREATED is descending. Default order for DISPLAYNAME is ascending. The DISPLAYNAME
+ sort order is case sensitive.
+
+ **Note:** In general, some \"List\" operations (for example, `ListInstances`) let you
+ optionally filter by Availability Domain if the scope of the resource type is within a
+ single Availability Domain. If you call one of these \"List\" operations without specifying
+ an Availability Domain, the resources are grouped by Availability Domain, then sorted.
+
+ Allowed values are: "TIMECREATED", "DISPLAYNAME"
+
+ :param str sort_order: (optional)
+ The sort order to use, either ascending (`ASC`) or descending (`DESC`). The DISPLAYNAME sort order
+ is case sensitive.
+
+ Allowed values are: "ASC", "DESC"
+
+ :param str lifecycle_state: (optional)
+ A filter to return only resources that match the given lifecycle state. The state value is case-insensitive.
+
+ Allowed values are: "PROVISIONING", "AVAILABLE", "TERMINATING", "TERMINATED"
+
+ :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 list of :class:`~oci.core.models.ServiceGateway`
+ :rtype: :class:`~oci.response.Response`
+ """
+ resource_path = "/serviceGateways"
+ method = "GET"
+
+ # Don't accept unknown kwargs
+ expected_kwargs = [
+ "retry_strategy",
+ "vcn_id",
+ "limit",
+ "page",
+ "sort_by",
+ "sort_order",
+ "lifecycle_state"
+ ]
+ extra_kwargs = [key for key in six.iterkeys(kwargs) if key not in expected_kwargs]
+ if extra_kwargs:
+ raise ValueError(
+ "list_service_gateways got unknown kwargs: {!r}".format(extra_kwargs))
+
+ if 'sort_by' in kwargs:
+ sort_by_allowed_values = ["TIMECREATED", "DISPLAYNAME"]
+ if kwargs['sort_by'] not in sort_by_allowed_values:
+ raise ValueError(
+ "Invalid value for `sort_by`, must be one of {0}".format(sort_by_allowed_values)
+ )
+
+ if 'sort_order' in kwargs:
+ sort_order_allowed_values = ["ASC", "DESC"]
+ if kwargs['sort_order'] not in sort_order_allowed_values:
+ raise ValueError(
+ "Invalid value for `sort_order`, must be one of {0}".format(sort_order_allowed_values)
+ )
+
+ if 'lifecycle_state' in kwargs:
+ lifecycle_state_allowed_values = ["PROVISIONING", "AVAILABLE", "TERMINATING", "TERMINATED"]
+ if kwargs['lifecycle_state'] not in lifecycle_state_allowed_values:
+ raise ValueError(
+ "Invalid value for `lifecycle_state`, must be one of {0}".format(lifecycle_state_allowed_values)
+ )
+
+ query_params = {
+ "compartmentId": compartment_id,
+ "vcnId": kwargs.get("vcn_id", missing),
+ "limit": kwargs.get("limit", missing),
+ "page": kwargs.get("page", missing),
+ "sortBy": kwargs.get("sort_by", missing),
+ "sortOrder": kwargs.get("sort_order", missing),
+ "lifecycleState": kwargs.get("lifecycle_state", 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"
+ }
+
+ 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,
+ query_params=query_params,
+ header_params=header_params,
+ response_type="list[ServiceGateway]")
+ else:
+ return self.base_client.call_api(
+ resource_path=resource_path,
+ method=method,
+ query_params=query_params,
+ header_params=header_params,
+ response_type="list[ServiceGateway]")
+
+ def list_services(self, **kwargs):
+ """
+ ListServices
+ Lists the available services that you can access through a service gateway in this region.
+
+
+ :param int limit: (optional)
+ The maximum number of items to return in a paginated \"List\" call.
+
+ Example: `500`
+
+ :param str page: (optional)
+ The value of the `opc-next-page` response header from the previous \"List\" call.
+
+ :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 list of :class:`~oci.core.models.Service`
+ :rtype: :class:`~oci.response.Response`
+ """
+ resource_path = "/services"
+ method = "GET"
+
+ # Don't accept unknown kwargs
+ expected_kwargs = [
+ "retry_strategy",
+ "limit",
+ "page"
+ ]
+ extra_kwargs = [key for key in six.iterkeys(kwargs) if key not in expected_kwargs]
+ if extra_kwargs:
+ raise ValueError(
+ "list_services got unknown kwargs: {!r}".format(extra_kwargs))
+
+ query_params = {
+ "limit": kwargs.get("limit", missing),
+ "page": kwargs.get("page", 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"
+ }
+
+ 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,
+ query_params=query_params,
+ header_params=header_params,
+ response_type="list[Service]")
+ else:
+ return self.base_client.call_api(
+ resource_path=resource_path,
+ method=method,
+ query_params=query_params,
+ header_params=header_params,
+ response_type="list[Service]")
+
def list_subnets(self, compartment_id, vcn_id, **kwargs):
"""
ListSubnets
@@ -8385,6 +9058,89 @@ def update_security_list(self, security_list_id, update_security_list_details, *
body=update_security_list_details,
response_type="SecurityList")
+ def update_service_gateway(self, service_gateway_id, update_service_gateway_details, **kwargs):
+ """
+ UpdateServiceGateway
+ Updates the specified service gateway. The information you provide overwrites the existing
+ attributes of the gateway.
+
+
+ :param str service_gateway_id: (required)
+ The service gateway's `OCID`__.
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm
+
+ :param UpdateServiceGatewayDetails update_service_gateway_details: (required)
+ Details object for updating a service gateway.
+
+ :param str if_match: (optional)
+ For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
+ parameter to the value of the etag from a previous GET or POST response for that resource. The resource
+ will be updated or deleted only if the etag you provide matches the resource's current etag value.
+
+ :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 :class:`~oci.core.models.ServiceGateway`
+ :rtype: :class:`~oci.response.Response`
+ """
+ resource_path = "/serviceGateways/{serviceGatewayId}"
+ method = "PUT"
+
+ # Don't accept unknown kwargs
+ expected_kwargs = [
+ "retry_strategy",
+ "if_match"
+ ]
+ extra_kwargs = [key for key in six.iterkeys(kwargs) if key not in expected_kwargs]
+ if extra_kwargs:
+ raise ValueError(
+ "update_service_gateway got unknown kwargs: {!r}".format(extra_kwargs))
+
+ path_params = {
+ "serviceGatewayId": service_gateway_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",
+ "if-match": kwargs.get("if_match", 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,
+ body=update_service_gateway_details,
+ response_type="ServiceGateway")
+ else:
+ return self.base_client.call_api(
+ resource_path=resource_path,
+ method=method,
+ path_params=path_params,
+ header_params=header_params,
+ body=update_service_gateway_details,
+ response_type="ServiceGateway")
+
def update_subnet(self, subnet_id, update_subnet_details, **kwargs):
"""
UpdateSubnet
diff --git a/src/oci/core/virtual_network_client_composite_operations.py b/src/oci/core/virtual_network_client_composite_operations.py
index c513a80863..08bee77618 100644
--- a/src/oci/core/virtual_network_client_composite_operations.py
+++ b/src/oci/core/virtual_network_client_composite_operations.py
@@ -477,6 +477,44 @@ def create_security_list_and_wait_for_state(self, create_security_list_details,
except Exception as e:
raise oci.exceptions.CompositeOperationError(partial_results=[operation_result], cause=e)
+ def create_service_gateway_and_wait_for_state(self, create_service_gateway_details, wait_for_states=[], operation_kwargs={}, waiter_kwargs={}):
+ """
+ Calls :py:func:`~oci.core.VirtualNetworkClient.create_service_gateway` and waits for the :py:class:`~oci.core.models.ServiceGateway` acted upon
+ to enter the given state(s).
+
+ :param CreateServiceGatewayDetails create_service_gateway_details: (required)
+ Details for creating a service gateway.
+
+ :param list[str] wait_for_states:
+ An array of states to wait on. These should be valid values for :py:attr:`~oci.core.models.ServiceGateway.lifecycle_state`
+
+ :param dict operation_kwargs:
+ A dictionary of keyword arguments to pass to :py:func:`~oci.core.VirtualNetworkClient.create_service_gateway`
+
+ :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.create_service_gateway(create_service_gateway_details, **operation_kwargs)
+ if not wait_for_states:
+ return operation_result
+
+ lowered_wait_for_states = [w.lower() for w in wait_for_states]
+ wait_for_resource_id = operation_result.data.id
+
+ try:
+ waiter_result = oci.wait_until(
+ self.client,
+ self.client.get_service_gateway(wait_for_resource_id),
+ evaluate_response=lambda r: getattr(r.data, 'lifecycle_state') and getattr(r.data, 'lifecycle_state').lower() in lowered_wait_for_states,
+ **waiter_kwargs
+ )
+ result_to_return = waiter_result
+
+ return result_to_return
+ except Exception as e:
+ raise oci.exceptions.CompositeOperationError(partial_results=[operation_result], cause=e)
+
def create_subnet_and_wait_for_state(self, create_subnet_details, wait_for_states=[], operation_kwargs={}, waiter_kwargs={}):
"""
Calls :py:func:`~oci.core.VirtualNetworkClient.create_subnet` and waits for the :py:class:`~oci.core.models.Subnet` acted upon
@@ -1059,6 +1097,47 @@ def delete_security_list_and_wait_for_state(self, security_list_id, wait_for_sta
except Exception as e:
raise oci.exceptions.CompositeOperationError(partial_results=[operation_result], cause=e)
+ def delete_service_gateway_and_wait_for_state(self, service_gateway_id, wait_for_states=[], operation_kwargs={}, waiter_kwargs={}):
+ """
+ Calls :py:func:`~oci.core.VirtualNetworkClient.delete_service_gateway` and waits for the :py:class:`~oci.core.models.ServiceGateway` acted upon
+ to enter the given state(s).
+
+ :param str service_gateway_id: (required)
+ The service gateway's `OCID`__.
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm
+
+ :param list[str] wait_for_states:
+ An array of states to wait on. These should be valid values for :py:attr:`~oci.core.models.ServiceGateway.lifecycle_state`
+
+ :param dict operation_kwargs:
+ A dictionary of keyword arguments to pass to :py:func:`~oci.core.VirtualNetworkClient.delete_service_gateway`
+
+ :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
+ """
+ initial_get_result = self.client.get_service_gateway(service_gateway_id)
+ operation_result = self.client.delete_service_gateway(service_gateway_id, **operation_kwargs)
+ if not wait_for_states:
+ return operation_result
+
+ lowered_wait_for_states = [w.lower() for w in wait_for_states]
+
+ try:
+ waiter_result = oci.wait_until(
+ self.client,
+ initial_get_result,
+ evaluate_response=lambda r: getattr(r.data, 'lifecycle_state') and getattr(r.data, 'lifecycle_state').lower() in lowered_wait_for_states,
+ succeed_on_not_found=True,
+ **waiter_kwargs
+ )
+ result_to_return = waiter_result
+
+ return result_to_return
+ except Exception as e:
+ raise oci.exceptions.CompositeOperationError(partial_results=[operation_result], cause=e)
+
def delete_subnet_and_wait_for_state(self, subnet_id, wait_for_states=[], operation_kwargs={}, waiter_kwargs={}):
"""
Calls :py:func:`~oci.core.VirtualNetworkClient.delete_subnet` and waits for the :py:class:`~oci.core.models.Subnet` acted upon
@@ -1668,6 +1747,49 @@ def update_security_list_and_wait_for_state(self, security_list_id, update_secur
except Exception as e:
raise oci.exceptions.CompositeOperationError(partial_results=[operation_result], cause=e)
+ def update_service_gateway_and_wait_for_state(self, service_gateway_id, update_service_gateway_details, wait_for_states=[], operation_kwargs={}, waiter_kwargs={}):
+ """
+ Calls :py:func:`~oci.core.VirtualNetworkClient.update_service_gateway` and waits for the :py:class:`~oci.core.models.ServiceGateway` acted upon
+ to enter the given state(s).
+
+ :param str service_gateway_id: (required)
+ The service gateway's `OCID`__.
+
+ __ https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm
+
+ :param UpdateServiceGatewayDetails update_service_gateway_details: (required)
+ Details object for updating a service gateway.
+
+ :param list[str] wait_for_states:
+ An array of states to wait on. These should be valid values for :py:attr:`~oci.core.models.ServiceGateway.lifecycle_state`
+
+ :param dict operation_kwargs:
+ A dictionary of keyword arguments to pass to :py:func:`~oci.core.VirtualNetworkClient.update_service_gateway`
+
+ :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.update_service_gateway(service_gateway_id, update_service_gateway_details, **operation_kwargs)
+ if not wait_for_states:
+ return operation_result
+
+ lowered_wait_for_states = [w.lower() for w in wait_for_states]
+ wait_for_resource_id = operation_result.data.id
+
+ try:
+ waiter_result = oci.wait_until(
+ self.client,
+ self.client.get_service_gateway(wait_for_resource_id),
+ evaluate_response=lambda r: getattr(r.data, 'lifecycle_state') and getattr(r.data, 'lifecycle_state').lower() in lowered_wait_for_states,
+ **waiter_kwargs
+ )
+ result_to_return = waiter_result
+
+ return result_to_return
+ except Exception as e:
+ raise oci.exceptions.CompositeOperationError(partial_results=[operation_result], cause=e)
+
def update_subnet_and_wait_for_state(self, subnet_id, update_subnet_details, wait_for_states=[], operation_kwargs={}, waiter_kwargs={}):
"""
Calls :py:func:`~oci.core.VirtualNetworkClient.update_subnet` and waits for the :py:class:`~oci.core.models.Subnet` acted upon
diff --git a/src/oci/version.py b/src/oci/version.py
index 5cbaa0100e..7d126df13d 100644
--- a/src/oci/version.py
+++ b/src/oci/version.py
@@ -1,4 +1,4 @@
# coding: utf-8
# Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
-__version__ = "1.4.3"
+__version__ = "1.4.4"