diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index a22dd2dd3d..cd471f58c0 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -3,6 +3,23 @@ Change Log
All notable changes to this project will be documented in this file.
The format is based on `Keep a Changelog `_.
+====================
+2.40.0 - 2021-06-15
+====================
+
+Added
+-----
+* Support for elastic storage on Exadata Infrastructure resources for Cloud at Customer in the Database service
+* Support for registration and management of target databases in the Data Safe service
+* Support for config on metadata in the Management Dashboard service
+* Support for a new work request operation type for node pool reconciliation events in the Container Engine for Kubernetes service
+* Support for migrating clusters with a public Kubernetes API endpoint which are not integrated with a customer's VCN to a VCN-native cluster in the Container Engine for Kubernetes service
+* Support for getting the spark version of applications, and filtering applications by spark version, in the Data Flow service
+
+Breaking
+--------
+* The properties `freeform_tags` and `defined_tags` were removed from the ManagementDashboardExportDetails model in the Management Dashboard service
+
====================
2.39.1 - 2021-06-08
====================
diff --git a/docs/api/container_engine.rst b/docs/api/container_engine.rst
index 2800c6325f..fe35c589e8 100644
--- a/docs/api/container_engine.rst
+++ b/docs/api/container_engine.rst
@@ -25,6 +25,8 @@ Container Engine
oci.container_engine.models.ClusterEndpointConfig
oci.container_engine.models.ClusterEndpoints
oci.container_engine.models.ClusterMetadata
+ oci.container_engine.models.ClusterMigrateToNativeVcnDetails
+ oci.container_engine.models.ClusterMigrateToNativeVcnStatus
oci.container_engine.models.ClusterOptions
oci.container_engine.models.ClusterSummary
oci.container_engine.models.CreateClusterDetails
diff --git a/docs/api/container_engine/models/oci.container_engine.models.ClusterMigrateToNativeVcnDetails.rst b/docs/api/container_engine/models/oci.container_engine.models.ClusterMigrateToNativeVcnDetails.rst
new file mode 100644
index 0000000000..4bb164c984
--- /dev/null
+++ b/docs/api/container_engine/models/oci.container_engine.models.ClusterMigrateToNativeVcnDetails.rst
@@ -0,0 +1,11 @@
+ClusterMigrateToNativeVcnDetails
+================================
+
+.. currentmodule:: oci.container_engine.models
+
+.. autoclass:: ClusterMigrateToNativeVcnDetails
+ :show-inheritance:
+ :special-members: __init__
+ :members:
+ :undoc-members:
+ :inherited-members:
\ No newline at end of file
diff --git a/docs/api/container_engine/models/oci.container_engine.models.ClusterMigrateToNativeVcnStatus.rst b/docs/api/container_engine/models/oci.container_engine.models.ClusterMigrateToNativeVcnStatus.rst
new file mode 100644
index 0000000000..72f7bc9c75
--- /dev/null
+++ b/docs/api/container_engine/models/oci.container_engine.models.ClusterMigrateToNativeVcnStatus.rst
@@ -0,0 +1,11 @@
+ClusterMigrateToNativeVcnStatus
+===============================
+
+.. currentmodule:: oci.container_engine.models
+
+.. autoclass:: ClusterMigrateToNativeVcnStatus
+ :show-inheritance:
+ :special-members: __init__
+ :members:
+ :undoc-members:
+ :inherited-members:
\ No newline at end of file
diff --git a/docs/api/data_safe.rst b/docs/api/data_safe.rst
index ebf23b0121..55a3375188 100644
--- a/docs/api/data_safe.rst
+++ b/docs/api/data_safe.rst
@@ -18,20 +18,35 @@ Data Safe
:nosignatures:
:template: autosummary/model_class.rst
+ oci.data_safe.models.ActivateTargetDatabaseDetails
+ oci.data_safe.models.AutonomousDatabaseDetails
oci.data_safe.models.ChangeDataSafePrivateEndpointCompartmentDetails
oci.data_safe.models.ChangeOnPremConnectorCompartmentDetails
+ oci.data_safe.models.ChangeTargetDatabaseCompartmentDetails
+ oci.data_safe.models.ConnectionOption
oci.data_safe.models.CreateDataSafePrivateEndpointDetails
oci.data_safe.models.CreateOnPremConnectorDetails
+ oci.data_safe.models.CreateTargetDatabaseDetails
+ oci.data_safe.models.Credentials
oci.data_safe.models.DataSafeConfiguration
oci.data_safe.models.DataSafePrivateEndpoint
oci.data_safe.models.DataSafePrivateEndpointSummary
+ oci.data_safe.models.DatabaseCloudServiceDetails
+ oci.data_safe.models.DatabaseDetails
oci.data_safe.models.EnableDataSafeConfigurationDetails
oci.data_safe.models.GenerateOnPremConnectorConfigurationDetails
+ oci.data_safe.models.InstalledDatabaseDetails
oci.data_safe.models.OnPremConnector
oci.data_safe.models.OnPremConnectorSummary
+ oci.data_safe.models.OnPremiseConnector
+ oci.data_safe.models.PrivateEndpoint
+ oci.data_safe.models.TargetDatabase
+ oci.data_safe.models.TargetDatabaseSummary
+ oci.data_safe.models.TlsConfig
oci.data_safe.models.UpdateDataSafePrivateEndpointDetails
oci.data_safe.models.UpdateOnPremConnectorDetails
oci.data_safe.models.UpdateOnPremConnectorWalletDetails
+ oci.data_safe.models.UpdateTargetDatabaseDetails
oci.data_safe.models.WorkRequest
oci.data_safe.models.WorkRequestError
oci.data_safe.models.WorkRequestLogEntry
diff --git a/docs/api/data_safe/models/oci.data_safe.models.ActivateTargetDatabaseDetails.rst b/docs/api/data_safe/models/oci.data_safe.models.ActivateTargetDatabaseDetails.rst
new file mode 100644
index 0000000000..03298b9262
--- /dev/null
+++ b/docs/api/data_safe/models/oci.data_safe.models.ActivateTargetDatabaseDetails.rst
@@ -0,0 +1,11 @@
+ActivateTargetDatabaseDetails
+=============================
+
+.. currentmodule:: oci.data_safe.models
+
+.. autoclass:: ActivateTargetDatabaseDetails
+ :show-inheritance:
+ :special-members: __init__
+ :members:
+ :undoc-members:
+ :inherited-members:
\ No newline at end of file
diff --git a/docs/api/data_safe/models/oci.data_safe.models.AutonomousDatabaseDetails.rst b/docs/api/data_safe/models/oci.data_safe.models.AutonomousDatabaseDetails.rst
new file mode 100644
index 0000000000..c7a8b5e2b4
--- /dev/null
+++ b/docs/api/data_safe/models/oci.data_safe.models.AutonomousDatabaseDetails.rst
@@ -0,0 +1,11 @@
+AutonomousDatabaseDetails
+=========================
+
+.. currentmodule:: oci.data_safe.models
+
+.. autoclass:: AutonomousDatabaseDetails
+ :show-inheritance:
+ :special-members: __init__
+ :members:
+ :undoc-members:
+ :inherited-members:
\ No newline at end of file
diff --git a/docs/api/data_safe/models/oci.data_safe.models.ChangeTargetDatabaseCompartmentDetails.rst b/docs/api/data_safe/models/oci.data_safe.models.ChangeTargetDatabaseCompartmentDetails.rst
new file mode 100644
index 0000000000..05dd041d36
--- /dev/null
+++ b/docs/api/data_safe/models/oci.data_safe.models.ChangeTargetDatabaseCompartmentDetails.rst
@@ -0,0 +1,11 @@
+ChangeTargetDatabaseCompartmentDetails
+======================================
+
+.. currentmodule:: oci.data_safe.models
+
+.. autoclass:: ChangeTargetDatabaseCompartmentDetails
+ :show-inheritance:
+ :special-members: __init__
+ :members:
+ :undoc-members:
+ :inherited-members:
\ No newline at end of file
diff --git a/docs/api/data_safe/models/oci.data_safe.models.ConnectionOption.rst b/docs/api/data_safe/models/oci.data_safe.models.ConnectionOption.rst
new file mode 100644
index 0000000000..67b63fd92b
--- /dev/null
+++ b/docs/api/data_safe/models/oci.data_safe.models.ConnectionOption.rst
@@ -0,0 +1,11 @@
+ConnectionOption
+================
+
+.. currentmodule:: oci.data_safe.models
+
+.. autoclass:: ConnectionOption
+ :show-inheritance:
+ :special-members: __init__
+ :members:
+ :undoc-members:
+ :inherited-members:
\ No newline at end of file
diff --git a/docs/api/data_safe/models/oci.data_safe.models.CreateTargetDatabaseDetails.rst b/docs/api/data_safe/models/oci.data_safe.models.CreateTargetDatabaseDetails.rst
new file mode 100644
index 0000000000..c95779d747
--- /dev/null
+++ b/docs/api/data_safe/models/oci.data_safe.models.CreateTargetDatabaseDetails.rst
@@ -0,0 +1,11 @@
+CreateTargetDatabaseDetails
+===========================
+
+.. currentmodule:: oci.data_safe.models
+
+.. autoclass:: CreateTargetDatabaseDetails
+ :show-inheritance:
+ :special-members: __init__
+ :members:
+ :undoc-members:
+ :inherited-members:
\ No newline at end of file
diff --git a/docs/api/data_safe/models/oci.data_safe.models.Credentials.rst b/docs/api/data_safe/models/oci.data_safe.models.Credentials.rst
new file mode 100644
index 0000000000..e6acd95435
--- /dev/null
+++ b/docs/api/data_safe/models/oci.data_safe.models.Credentials.rst
@@ -0,0 +1,11 @@
+Credentials
+===========
+
+.. currentmodule:: oci.data_safe.models
+
+.. autoclass:: Credentials
+ :show-inheritance:
+ :special-members: __init__
+ :members:
+ :undoc-members:
+ :inherited-members:
\ No newline at end of file
diff --git a/docs/api/data_safe/models/oci.data_safe.models.DatabaseCloudServiceDetails.rst b/docs/api/data_safe/models/oci.data_safe.models.DatabaseCloudServiceDetails.rst
new file mode 100644
index 0000000000..ff753fd611
--- /dev/null
+++ b/docs/api/data_safe/models/oci.data_safe.models.DatabaseCloudServiceDetails.rst
@@ -0,0 +1,11 @@
+DatabaseCloudServiceDetails
+===========================
+
+.. currentmodule:: oci.data_safe.models
+
+.. autoclass:: DatabaseCloudServiceDetails
+ :show-inheritance:
+ :special-members: __init__
+ :members:
+ :undoc-members:
+ :inherited-members:
\ No newline at end of file
diff --git a/docs/api/data_safe/models/oci.data_safe.models.DatabaseDetails.rst b/docs/api/data_safe/models/oci.data_safe.models.DatabaseDetails.rst
new file mode 100644
index 0000000000..346ca30752
--- /dev/null
+++ b/docs/api/data_safe/models/oci.data_safe.models.DatabaseDetails.rst
@@ -0,0 +1,11 @@
+DatabaseDetails
+===============
+
+.. currentmodule:: oci.data_safe.models
+
+.. autoclass:: DatabaseDetails
+ :show-inheritance:
+ :special-members: __init__
+ :members:
+ :undoc-members:
+ :inherited-members:
\ No newline at end of file
diff --git a/docs/api/data_safe/models/oci.data_safe.models.InstalledDatabaseDetails.rst b/docs/api/data_safe/models/oci.data_safe.models.InstalledDatabaseDetails.rst
new file mode 100644
index 0000000000..d9b473b5cd
--- /dev/null
+++ b/docs/api/data_safe/models/oci.data_safe.models.InstalledDatabaseDetails.rst
@@ -0,0 +1,11 @@
+InstalledDatabaseDetails
+========================
+
+.. currentmodule:: oci.data_safe.models
+
+.. autoclass:: InstalledDatabaseDetails
+ :show-inheritance:
+ :special-members: __init__
+ :members:
+ :undoc-members:
+ :inherited-members:
\ No newline at end of file
diff --git a/docs/api/data_safe/models/oci.data_safe.models.OnPremiseConnector.rst b/docs/api/data_safe/models/oci.data_safe.models.OnPremiseConnector.rst
new file mode 100644
index 0000000000..80c0a24203
--- /dev/null
+++ b/docs/api/data_safe/models/oci.data_safe.models.OnPremiseConnector.rst
@@ -0,0 +1,11 @@
+OnPremiseConnector
+==================
+
+.. currentmodule:: oci.data_safe.models
+
+.. autoclass:: OnPremiseConnector
+ :show-inheritance:
+ :special-members: __init__
+ :members:
+ :undoc-members:
+ :inherited-members:
\ No newline at end of file
diff --git a/docs/api/data_safe/models/oci.data_safe.models.PrivateEndpoint.rst b/docs/api/data_safe/models/oci.data_safe.models.PrivateEndpoint.rst
new file mode 100644
index 0000000000..320febc349
--- /dev/null
+++ b/docs/api/data_safe/models/oci.data_safe.models.PrivateEndpoint.rst
@@ -0,0 +1,11 @@
+PrivateEndpoint
+===============
+
+.. currentmodule:: oci.data_safe.models
+
+.. autoclass:: PrivateEndpoint
+ :show-inheritance:
+ :special-members: __init__
+ :members:
+ :undoc-members:
+ :inherited-members:
\ No newline at end of file
diff --git a/docs/api/data_safe/models/oci.data_safe.models.TargetDatabase.rst b/docs/api/data_safe/models/oci.data_safe.models.TargetDatabase.rst
new file mode 100644
index 0000000000..b51301a3d9
--- /dev/null
+++ b/docs/api/data_safe/models/oci.data_safe.models.TargetDatabase.rst
@@ -0,0 +1,11 @@
+TargetDatabase
+==============
+
+.. currentmodule:: oci.data_safe.models
+
+.. autoclass:: TargetDatabase
+ :show-inheritance:
+ :special-members: __init__
+ :members:
+ :undoc-members:
+ :inherited-members:
\ No newline at end of file
diff --git a/docs/api/data_safe/models/oci.data_safe.models.TargetDatabaseSummary.rst b/docs/api/data_safe/models/oci.data_safe.models.TargetDatabaseSummary.rst
new file mode 100644
index 0000000000..392ca84cd1
--- /dev/null
+++ b/docs/api/data_safe/models/oci.data_safe.models.TargetDatabaseSummary.rst
@@ -0,0 +1,11 @@
+TargetDatabaseSummary
+=====================
+
+.. currentmodule:: oci.data_safe.models
+
+.. autoclass:: TargetDatabaseSummary
+ :show-inheritance:
+ :special-members: __init__
+ :members:
+ :undoc-members:
+ :inherited-members:
\ No newline at end of file
diff --git a/docs/api/data_safe/models/oci.data_safe.models.TlsConfig.rst b/docs/api/data_safe/models/oci.data_safe.models.TlsConfig.rst
new file mode 100644
index 0000000000..067841a222
--- /dev/null
+++ b/docs/api/data_safe/models/oci.data_safe.models.TlsConfig.rst
@@ -0,0 +1,11 @@
+TlsConfig
+=========
+
+.. currentmodule:: oci.data_safe.models
+
+.. autoclass:: TlsConfig
+ :show-inheritance:
+ :special-members: __init__
+ :members:
+ :undoc-members:
+ :inherited-members:
\ No newline at end of file
diff --git a/docs/api/data_safe/models/oci.data_safe.models.UpdateTargetDatabaseDetails.rst b/docs/api/data_safe/models/oci.data_safe.models.UpdateTargetDatabaseDetails.rst
new file mode 100644
index 0000000000..7167bfe07f
--- /dev/null
+++ b/docs/api/data_safe/models/oci.data_safe.models.UpdateTargetDatabaseDetails.rst
@@ -0,0 +1,11 @@
+UpdateTargetDatabaseDetails
+===========================
+
+.. currentmodule:: oci.data_safe.models
+
+.. autoclass:: UpdateTargetDatabaseDetails
+ :show-inheritance:
+ :special-members: __init__
+ :members:
+ :undoc-members:
+ :inherited-members:
\ No newline at end of file
diff --git a/src/oci/container_engine/container_engine_client.py b/src/oci/container_engine/container_engine_client.py
index 4d08aaad88..83f67de7fd 100644
--- a/src/oci/container_engine/container_engine_client.py
+++ b/src/oci/container_engine/container_engine_client.py
@@ -88,6 +88,92 @@ def __init__(self, config, **kwargs):
self.base_client = BaseClient("container_engine", config, signer, container_engine_type_mapping, **base_client_init_kwargs)
self.retry_strategy = kwargs.get('retry_strategy')
+ def cluster_migrate_to_native_vcn(self, cluster_id, cluster_migrate_to_native_vcn_details, **kwargs):
+ """
+ Initiates cluster migration to use native VCN.
+
+
+ :param str cluster_id: (required)
+ The OCID of the cluster.
+
+ :param oci.container_engine.models.ClusterMigrateToNativeVcnDetails cluster_migrate_to_native_vcn_details: (required)
+ The details for the cluster's migration to native VCN.
+
+ :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 str opc_request_id: (optional)
+ Unique Oracle-assigned identifier for the request. If you need to contact
+ Oracle about a particular request, please provide the request ID.
+
+ :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`
+
+ :example:
+ Click `here `__ to see an example of how to use cluster_migrate_to_native_vcn API.
+ """
+ resource_path = "/clusters/{clusterId}/actions/migrateToNativeVcn"
+ method = "POST"
+
+ # Don't accept unknown kwargs
+ expected_kwargs = [
+ "retry_strategy",
+ "if_match",
+ "opc_request_id"
+ ]
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
+ if extra_kwargs:
+ raise ValueError(
+ "cluster_migrate_to_native_vcn got unknown kwargs: {!r}".format(extra_kwargs))
+
+ path_params = {
+ "clusterId": cluster_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),
+ "opc-request-id": kwargs.get("opc_request_id", missing)
+ }
+ header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
+
+ retry_strategy = self.retry_strategy
+ if kwargs.get('retry_strategy'):
+ retry_strategy = kwargs.get('retry_strategy')
+
+ if retry_strategy:
+ return retry_strategy.make_retrying_call(
+ self.base_client.call_api,
+ resource_path=resource_path,
+ method=method,
+ path_params=path_params,
+ header_params=header_params,
+ body=cluster_migrate_to_native_vcn_details)
+ else:
+ return self.base_client.call_api(
+ resource_path=resource_path,
+ method=method,
+ path_params=path_params,
+ header_params=header_params,
+ body=cluster_migrate_to_native_vcn_details)
+
def create_cluster(self, create_cluster_details, **kwargs):
"""
Create a new cluster.
@@ -633,6 +719,82 @@ def get_cluster(self, cluster_id, **kwargs):
header_params=header_params,
response_type="Cluster")
+ def get_cluster_migrate_to_native_vcn_status(self, cluster_id, **kwargs):
+ """
+ Get details on a cluster's migration to native VCN.
+
+
+ :param str cluster_id: (required)
+ The OCID of the cluster.
+
+ :param str opc_request_id: (optional)
+ Unique Oracle-assigned identifier for the request. If you need to contact
+ Oracle about a particular request, please provide the request ID.
+
+ :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.container_engine.models.ClusterMigrateToNativeVcnStatus`
+ :rtype: :class:`~oci.response.Response`
+
+ :example:
+ Click `here `__ to see an example of how to use get_cluster_migrate_to_native_vcn_status API.
+ """
+ resource_path = "/clusters/{clusterId}/migrateToNativeVcnStatus"
+ method = "GET"
+
+ # Don't accept unknown kwargs
+ expected_kwargs = [
+ "retry_strategy",
+ "opc_request_id"
+ ]
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
+ if extra_kwargs:
+ raise ValueError(
+ "get_cluster_migrate_to_native_vcn_status got unknown kwargs: {!r}".format(extra_kwargs))
+
+ path_params = {
+ "clusterId": cluster_id
+ }
+
+ path_params = {k: v for (k, v) in six.iteritems(path_params) if v is not missing}
+
+ for (k, v) in six.iteritems(path_params):
+ if v is None or (isinstance(v, six.string_types) and len(v.strip()) == 0):
+ raise ValueError('Parameter {} cannot be None, whitespace or empty string'.format(k))
+
+ header_params = {
+ "accept": "application/json",
+ "content-type": "application/json",
+ "opc-request-id": kwargs.get("opc_request_id", missing)
+ }
+ header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
+
+ retry_strategy = self.retry_strategy
+ if kwargs.get('retry_strategy'):
+ retry_strategy = kwargs.get('retry_strategy')
+
+ if retry_strategy:
+ return retry_strategy.make_retrying_call(
+ self.base_client.call_api,
+ resource_path=resource_path,
+ method=method,
+ path_params=path_params,
+ header_params=header_params,
+ response_type="ClusterMigrateToNativeVcnStatus")
+ else:
+ return self.base_client.call_api(
+ resource_path=resource_path,
+ method=method,
+ path_params=path_params,
+ header_params=header_params,
+ response_type="ClusterMigrateToNativeVcnStatus")
+
def get_cluster_options(self, cluster_option_id, **kwargs):
"""
Get options available for clusters.
diff --git a/src/oci/container_engine/container_engine_client_composite_operations.py b/src/oci/container_engine/container_engine_client_composite_operations.py
index 9302a4da2d..e8ff29264b 100644
--- a/src/oci/container_engine/container_engine_client_composite_operations.py
+++ b/src/oci/container_engine/container_engine_client_composite_operations.py
@@ -23,6 +23,47 @@ def __init__(self, client, **kwargs):
"""
self.client = client
+ def cluster_migrate_to_native_vcn_and_wait_for_state(self, cluster_id, cluster_migrate_to_native_vcn_details, wait_for_states=[], operation_kwargs={}, waiter_kwargs={}):
+ """
+ Calls :py:func:`~oci.container_engine.ContainerEngineClient.cluster_migrate_to_native_vcn` and waits for the :py:class:`~oci.container_engine.models.WorkRequest`
+ to enter the given state(s).
+
+ :param str cluster_id: (required)
+ The OCID of the cluster.
+
+ :param oci.container_engine.models.ClusterMigrateToNativeVcnDetails cluster_migrate_to_native_vcn_details: (required)
+ The details for the cluster's migration to native VCN.
+
+ :param list[str] wait_for_states:
+ An array of states to wait on. These should be valid values for :py:attr:`~oci.container_engine.models.WorkRequest.status`
+
+ :param dict operation_kwargs:
+ A dictionary of keyword arguments to pass to :py:func:`~oci.container_engine.ContainerEngineClient.cluster_migrate_to_native_vcn`
+
+ :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.cluster_migrate_to_native_vcn(cluster_id, cluster_migrate_to_native_vcn_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.headers['opc-work-request-id']
+
+ try:
+ waiter_result = oci.wait_until(
+ self.client,
+ self.client.get_work_request(wait_for_resource_id),
+ evaluate_response=lambda r: getattr(r.data, 'status') and getattr(r.data, 'status').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_cluster_and_wait_for_state(self, create_cluster_details, wait_for_states=[], operation_kwargs={}, waiter_kwargs={}):
"""
Calls :py:func:`~oci.container_engine.ContainerEngineClient.create_cluster` and waits for the :py:class:`~oci.container_engine.models.WorkRequest`
diff --git a/src/oci/container_engine/models/__init__.py b/src/oci/container_engine/models/__init__.py
index 4c299a2bdd..23dd135672 100644
--- a/src/oci/container_engine/models/__init__.py
+++ b/src/oci/container_engine/models/__init__.py
@@ -11,6 +11,8 @@
from .cluster_endpoint_config import ClusterEndpointConfig
from .cluster_endpoints import ClusterEndpoints
from .cluster_metadata import ClusterMetadata
+from .cluster_migrate_to_native_vcn_details import ClusterMigrateToNativeVcnDetails
+from .cluster_migrate_to_native_vcn_status import ClusterMigrateToNativeVcnStatus
from .cluster_options import ClusterOptions
from .cluster_summary import ClusterSummary
from .create_cluster_details import CreateClusterDetails
@@ -58,6 +60,8 @@
"ClusterEndpointConfig": ClusterEndpointConfig,
"ClusterEndpoints": ClusterEndpoints,
"ClusterMetadata": ClusterMetadata,
+ "ClusterMigrateToNativeVcnDetails": ClusterMigrateToNativeVcnDetails,
+ "ClusterMigrateToNativeVcnStatus": ClusterMigrateToNativeVcnStatus,
"ClusterOptions": ClusterOptions,
"ClusterSummary": ClusterSummary,
"CreateClusterDetails": CreateClusterDetails,
diff --git a/src/oci/container_engine/models/cluster_migrate_to_native_vcn_details.py b/src/oci/container_engine/models/cluster_migrate_to_native_vcn_details.py
new file mode 100644
index 0000000000..524f1eb86b
--- /dev/null
+++ b/src/oci/container_engine/models/cluster_migrate_to_native_vcn_details.py
@@ -0,0 +1,101 @@
+# coding: utf-8
+# Copyright (c) 2016, 2021, Oracle and/or its affiliates. All rights reserved.
+# This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+
+
+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 ClusterMigrateToNativeVcnDetails(object):
+ """
+ The properties that define a request to migrate a cluster to Native VCN.
+ """
+
+ def __init__(self, **kwargs):
+ """
+ Initializes a new ClusterMigrateToNativeVcnDetails object with values from keyword arguments.
+ The following keyword arguments are supported (corresponding to the getters/setters of this class):
+
+ :param endpoint_config:
+ The value to assign to the endpoint_config property of this ClusterMigrateToNativeVcnDetails.
+ :type endpoint_config: oci.container_engine.models.ClusterEndpointConfig
+
+ :param decommission_delay_duration:
+ The value to assign to the decommission_delay_duration property of this ClusterMigrateToNativeVcnDetails.
+ :type decommission_delay_duration: str
+
+ """
+ self.swagger_types = {
+ 'endpoint_config': 'ClusterEndpointConfig',
+ 'decommission_delay_duration': 'str'
+ }
+
+ self.attribute_map = {
+ 'endpoint_config': 'endpointConfig',
+ 'decommission_delay_duration': 'decommissionDelayDuration'
+ }
+
+ self._endpoint_config = None
+ self._decommission_delay_duration = None
+
+ @property
+ def endpoint_config(self):
+ """
+ **[Required]** Gets the endpoint_config of this ClusterMigrateToNativeVcnDetails.
+ The network configuration for access to the Cluster control plane.
+
+
+ :return: The endpoint_config of this ClusterMigrateToNativeVcnDetails.
+ :rtype: oci.container_engine.models.ClusterEndpointConfig
+ """
+ return self._endpoint_config
+
+ @endpoint_config.setter
+ def endpoint_config(self, endpoint_config):
+ """
+ Sets the endpoint_config of this ClusterMigrateToNativeVcnDetails.
+ The network configuration for access to the Cluster control plane.
+
+
+ :param endpoint_config: The endpoint_config of this ClusterMigrateToNativeVcnDetails.
+ :type: oci.container_engine.models.ClusterEndpointConfig
+ """
+ self._endpoint_config = endpoint_config
+
+ @property
+ def decommission_delay_duration(self):
+ """
+ Gets the decommission_delay_duration of this ClusterMigrateToNativeVcnDetails.
+ The optional override of the non-native endpoint decommission time after migration is complete. Defaults to 30 days.
+
+
+ :return: The decommission_delay_duration of this ClusterMigrateToNativeVcnDetails.
+ :rtype: str
+ """
+ return self._decommission_delay_duration
+
+ @decommission_delay_duration.setter
+ def decommission_delay_duration(self, decommission_delay_duration):
+ """
+ Sets the decommission_delay_duration of this ClusterMigrateToNativeVcnDetails.
+ The optional override of the non-native endpoint decommission time after migration is complete. Defaults to 30 days.
+
+
+ :param decommission_delay_duration: The decommission_delay_duration of this ClusterMigrateToNativeVcnDetails.
+ :type: str
+ """
+ self._decommission_delay_duration = decommission_delay_duration
+
+ 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/container_engine/models/cluster_migrate_to_native_vcn_status.py b/src/oci/container_engine/models/cluster_migrate_to_native_vcn_status.py
new file mode 100644
index 0000000000..44f5daa9b9
--- /dev/null
+++ b/src/oci/container_engine/models/cluster_migrate_to_native_vcn_status.py
@@ -0,0 +1,129 @@
+# coding: utf-8
+# Copyright (c) 2016, 2021, Oracle and/or its affiliates. All rights reserved.
+# This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+
+
+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 ClusterMigrateToNativeVcnStatus(object):
+ """
+ Information regarding a cluster's move to Native VCN.
+ """
+
+ #: A constant which can be used with the state property of a ClusterMigrateToNativeVcnStatus.
+ #: This constant has a value of "NOT_STARTED"
+ STATE_NOT_STARTED = "NOT_STARTED"
+
+ #: A constant which can be used with the state property of a ClusterMigrateToNativeVcnStatus.
+ #: This constant has a value of "REQUESTED"
+ STATE_REQUESTED = "REQUESTED"
+
+ #: A constant which can be used with the state property of a ClusterMigrateToNativeVcnStatus.
+ #: This constant has a value of "IN_PROGRESS"
+ STATE_IN_PROGRESS = "IN_PROGRESS"
+
+ #: A constant which can be used with the state property of a ClusterMigrateToNativeVcnStatus.
+ #: This constant has a value of "PENDING_DECOMMISSION"
+ STATE_PENDING_DECOMMISSION = "PENDING_DECOMMISSION"
+
+ #: A constant which can be used with the state property of a ClusterMigrateToNativeVcnStatus.
+ #: This constant has a value of "COMPLETED"
+ STATE_COMPLETED = "COMPLETED"
+
+ def __init__(self, **kwargs):
+ """
+ Initializes a new ClusterMigrateToNativeVcnStatus object with values from keyword arguments.
+ The following keyword arguments are supported (corresponding to the getters/setters of this class):
+
+ :param time_decommission_scheduled:
+ The value to assign to the time_decommission_scheduled property of this ClusterMigrateToNativeVcnStatus.
+ :type time_decommission_scheduled: datetime
+
+ :param state:
+ The value to assign to the state property of this ClusterMigrateToNativeVcnStatus.
+ Allowed values for this property are: "NOT_STARTED", "REQUESTED", "IN_PROGRESS", "PENDING_DECOMMISSION", "COMPLETED", 'UNKNOWN_ENUM_VALUE'.
+ Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
+ :type state: str
+
+ """
+ self.swagger_types = {
+ 'time_decommission_scheduled': 'datetime',
+ 'state': 'str'
+ }
+
+ self.attribute_map = {
+ 'time_decommission_scheduled': 'timeDecommissionScheduled',
+ 'state': 'state'
+ }
+
+ self._time_decommission_scheduled = None
+ self._state = None
+
+ @property
+ def time_decommission_scheduled(self):
+ """
+ Gets the time_decommission_scheduled of this ClusterMigrateToNativeVcnStatus.
+ The date and time the non-native VCN is due to be decommissioned.
+
+
+ :return: The time_decommission_scheduled of this ClusterMigrateToNativeVcnStatus.
+ :rtype: datetime
+ """
+ return self._time_decommission_scheduled
+
+ @time_decommission_scheduled.setter
+ def time_decommission_scheduled(self, time_decommission_scheduled):
+ """
+ Sets the time_decommission_scheduled of this ClusterMigrateToNativeVcnStatus.
+ The date and time the non-native VCN is due to be decommissioned.
+
+
+ :param time_decommission_scheduled: The time_decommission_scheduled of this ClusterMigrateToNativeVcnStatus.
+ :type: datetime
+ """
+ self._time_decommission_scheduled = time_decommission_scheduled
+
+ @property
+ def state(self):
+ """
+ **[Required]** Gets the state of this ClusterMigrateToNativeVcnStatus.
+ The current migration status of the cluster.
+
+ Allowed values for this property are: "NOT_STARTED", "REQUESTED", "IN_PROGRESS", "PENDING_DECOMMISSION", "COMPLETED", 'UNKNOWN_ENUM_VALUE'.
+ Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
+
+
+ :return: The state of this ClusterMigrateToNativeVcnStatus.
+ :rtype: str
+ """
+ return self._state
+
+ @state.setter
+ def state(self, state):
+ """
+ Sets the state of this ClusterMigrateToNativeVcnStatus.
+ The current migration status of the cluster.
+
+
+ :param state: The state of this ClusterMigrateToNativeVcnStatus.
+ :type: str
+ """
+ allowed_values = ["NOT_STARTED", "REQUESTED", "IN_PROGRESS", "PENDING_DECOMMISSION", "COMPLETED"]
+ if not value_allowed_none_or_none_sentinel(state, allowed_values):
+ state = 'UNKNOWN_ENUM_VALUE'
+ self._state = state
+
+ 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/container_engine/models/work_request.py b/src/oci/container_engine/models/work_request.py
index fc751a2757..ce118c8387 100644
--- a/src/oci/container_engine/models/work_request.py
+++ b/src/oci/container_engine/models/work_request.py
@@ -37,6 +37,10 @@ class WorkRequest(object):
#: This constant has a value of "NODEPOOL_DELETE"
OPERATION_TYPE_NODEPOOL_DELETE = "NODEPOOL_DELETE"
+ #: A constant which can be used with the operation_type property of a WorkRequest.
+ #: This constant has a value of "NODEPOOL_RECONCILE"
+ OPERATION_TYPE_NODEPOOL_RECONCILE = "NODEPOOL_RECONCILE"
+
#: A constant which can be used with the operation_type property of a WorkRequest.
#: This constant has a value of "WORKREQUEST_CANCEL"
OPERATION_TYPE_WORKREQUEST_CANCEL = "WORKREQUEST_CANCEL"
@@ -76,7 +80,7 @@ def __init__(self, **kwargs):
:param operation_type:
The value to assign to the operation_type property of this WorkRequest.
- Allowed values for this property are: "CLUSTER_CREATE", "CLUSTER_UPDATE", "CLUSTER_DELETE", "NODEPOOL_CREATE", "NODEPOOL_UPDATE", "NODEPOOL_DELETE", "WORKREQUEST_CANCEL", 'UNKNOWN_ENUM_VALUE'.
+ Allowed values for this property are: "CLUSTER_CREATE", "CLUSTER_UPDATE", "CLUSTER_DELETE", "NODEPOOL_CREATE", "NODEPOOL_UPDATE", "NODEPOOL_DELETE", "NODEPOOL_RECONCILE", "WORKREQUEST_CANCEL", 'UNKNOWN_ENUM_VALUE'.
Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
:type operation_type: str
@@ -168,7 +172,7 @@ def operation_type(self):
Gets the operation_type of this WorkRequest.
The type of work the work request is doing.
- Allowed values for this property are: "CLUSTER_CREATE", "CLUSTER_UPDATE", "CLUSTER_DELETE", "NODEPOOL_CREATE", "NODEPOOL_UPDATE", "NODEPOOL_DELETE", "WORKREQUEST_CANCEL", 'UNKNOWN_ENUM_VALUE'.
+ Allowed values for this property are: "CLUSTER_CREATE", "CLUSTER_UPDATE", "CLUSTER_DELETE", "NODEPOOL_CREATE", "NODEPOOL_UPDATE", "NODEPOOL_DELETE", "NODEPOOL_RECONCILE", "WORKREQUEST_CANCEL", 'UNKNOWN_ENUM_VALUE'.
Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
@@ -187,7 +191,7 @@ def operation_type(self, operation_type):
:param operation_type: The operation_type of this WorkRequest.
:type: str
"""
- allowed_values = ["CLUSTER_CREATE", "CLUSTER_UPDATE", "CLUSTER_DELETE", "NODEPOOL_CREATE", "NODEPOOL_UPDATE", "NODEPOOL_DELETE", "WORKREQUEST_CANCEL"]
+ allowed_values = ["CLUSTER_CREATE", "CLUSTER_UPDATE", "CLUSTER_DELETE", "NODEPOOL_CREATE", "NODEPOOL_UPDATE", "NODEPOOL_DELETE", "NODEPOOL_RECONCILE", "WORKREQUEST_CANCEL"]
if not value_allowed_none_or_none_sentinel(operation_type, allowed_values):
operation_type = 'UNKNOWN_ENUM_VALUE'
self._operation_type = operation_type
diff --git a/src/oci/container_engine/models/work_request_summary.py b/src/oci/container_engine/models/work_request_summary.py
index cd1cfb4876..b507bbaee2 100644
--- a/src/oci/container_engine/models/work_request_summary.py
+++ b/src/oci/container_engine/models/work_request_summary.py
@@ -37,6 +37,10 @@ class WorkRequestSummary(object):
#: This constant has a value of "NODEPOOL_DELETE"
OPERATION_TYPE_NODEPOOL_DELETE = "NODEPOOL_DELETE"
+ #: A constant which can be used with the operation_type property of a WorkRequestSummary.
+ #: This constant has a value of "NODEPOOL_RECONCILE"
+ OPERATION_TYPE_NODEPOOL_RECONCILE = "NODEPOOL_RECONCILE"
+
#: A constant which can be used with the operation_type property of a WorkRequestSummary.
#: This constant has a value of "WORKREQUEST_CANCEL"
OPERATION_TYPE_WORKREQUEST_CANCEL = "WORKREQUEST_CANCEL"
@@ -76,7 +80,7 @@ def __init__(self, **kwargs):
:param operation_type:
The value to assign to the operation_type property of this WorkRequestSummary.
- Allowed values for this property are: "CLUSTER_CREATE", "CLUSTER_UPDATE", "CLUSTER_DELETE", "NODEPOOL_CREATE", "NODEPOOL_UPDATE", "NODEPOOL_DELETE", "WORKREQUEST_CANCEL", 'UNKNOWN_ENUM_VALUE'.
+ Allowed values for this property are: "CLUSTER_CREATE", "CLUSTER_UPDATE", "CLUSTER_DELETE", "NODEPOOL_CREATE", "NODEPOOL_UPDATE", "NODEPOOL_DELETE", "NODEPOOL_RECONCILE", "WORKREQUEST_CANCEL", 'UNKNOWN_ENUM_VALUE'.
Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
:type operation_type: str
@@ -168,7 +172,7 @@ def operation_type(self):
Gets the operation_type of this WorkRequestSummary.
The type of work the work request is doing.
- Allowed values for this property are: "CLUSTER_CREATE", "CLUSTER_UPDATE", "CLUSTER_DELETE", "NODEPOOL_CREATE", "NODEPOOL_UPDATE", "NODEPOOL_DELETE", "WORKREQUEST_CANCEL", 'UNKNOWN_ENUM_VALUE'.
+ Allowed values for this property are: "CLUSTER_CREATE", "CLUSTER_UPDATE", "CLUSTER_DELETE", "NODEPOOL_CREATE", "NODEPOOL_UPDATE", "NODEPOOL_DELETE", "NODEPOOL_RECONCILE", "WORKREQUEST_CANCEL", 'UNKNOWN_ENUM_VALUE'.
Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
@@ -187,7 +191,7 @@ def operation_type(self, operation_type):
:param operation_type: The operation_type of this WorkRequestSummary.
:type: str
"""
- allowed_values = ["CLUSTER_CREATE", "CLUSTER_UPDATE", "CLUSTER_DELETE", "NODEPOOL_CREATE", "NODEPOOL_UPDATE", "NODEPOOL_DELETE", "WORKREQUEST_CANCEL"]
+ allowed_values = ["CLUSTER_CREATE", "CLUSTER_UPDATE", "CLUSTER_DELETE", "NODEPOOL_CREATE", "NODEPOOL_UPDATE", "NODEPOOL_DELETE", "NODEPOOL_RECONCILE", "WORKREQUEST_CANCEL"]
if not value_allowed_none_or_none_sentinel(operation_type, allowed_values):
operation_type = 'UNKNOWN_ENUM_VALUE'
self._operation_type = operation_type
diff --git a/src/oci/data_flow/data_flow_client.py b/src/oci/data_flow/data_flow_client.py
index 8d75f5e7a0..253b41e6c9 100644
--- a/src/oci/data_flow/data_flow_client.py
+++ b/src/oci/data_flow/data_flow_client.py
@@ -1262,6 +1262,9 @@ def list_applications(self, compartment_id, **kwargs):
:param str display_name_starts_with: (optional)
The displayName prefix.
+ :param str spark_version: (optional)
+ The Spark version utilized to run the application.
+
: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.
@@ -1289,7 +1292,8 @@ def list_applications(self, compartment_id, **kwargs):
"sort_order",
"display_name",
"owner_principal_id",
- "display_name_starts_with"
+ "display_name_starts_with",
+ "spark_version"
]
extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
if extra_kwargs:
@@ -1318,7 +1322,8 @@ def list_applications(self, compartment_id, **kwargs):
"sortOrder": kwargs.get("sort_order", missing),
"displayName": kwargs.get("display_name", missing),
"ownerPrincipalId": kwargs.get("owner_principal_id", missing),
- "displayNameStartsWith": kwargs.get("display_name_starts_with", missing)
+ "displayNameStartsWith": kwargs.get("display_name_starts_with", missing),
+ "sparkVersion": kwargs.get("spark_version", missing)
}
query_params = {k: v for (k, v) in six.iteritems(query_params) if v is not missing and v is not None}
diff --git a/src/oci/data_flow/models/application_summary.py b/src/oci/data_flow/models/application_summary.py
index fea524a986..41b66e3c6e 100644
--- a/src/oci/data_flow/models/application_summary.py
+++ b/src/oci/data_flow/models/application_summary.py
@@ -86,6 +86,10 @@ def __init__(self, **kwargs):
The value to assign to the owner_user_name property of this ApplicationSummary.
:type owner_user_name: str
+ :param spark_version:
+ The value to assign to the spark_version property of this ApplicationSummary.
+ :type spark_version: str
+
:param time_created:
The value to assign to the time_created property of this ApplicationSummary.
:type time_created: datetime
@@ -105,6 +109,7 @@ def __init__(self, **kwargs):
'lifecycle_state': 'str',
'owner_principal_id': 'str',
'owner_user_name': 'str',
+ 'spark_version': 'str',
'time_created': 'datetime',
'time_updated': 'datetime'
}
@@ -119,6 +124,7 @@ def __init__(self, **kwargs):
'lifecycle_state': 'lifecycleState',
'owner_principal_id': 'ownerPrincipalId',
'owner_user_name': 'ownerUserName',
+ 'spark_version': 'sparkVersion',
'time_created': 'timeCreated',
'time_updated': 'timeUpdated'
}
@@ -132,6 +138,7 @@ def __init__(self, **kwargs):
self._lifecycle_state = None
self._owner_principal_id = None
self._owner_user_name = None
+ self._spark_version = None
self._time_created = None
self._time_updated = None
@@ -379,6 +386,30 @@ def owner_user_name(self, owner_user_name):
"""
self._owner_user_name = owner_user_name
+ @property
+ def spark_version(self):
+ """
+ **[Required]** Gets the spark_version of this ApplicationSummary.
+ The Spark version utilized to run the application.
+
+
+ :return: The spark_version of this ApplicationSummary.
+ :rtype: str
+ """
+ return self._spark_version
+
+ @spark_version.setter
+ def spark_version(self, spark_version):
+ """
+ Sets the spark_version of this ApplicationSummary.
+ The Spark version utilized to run the application.
+
+
+ :param spark_version: The spark_version of this ApplicationSummary.
+ :type: str
+ """
+ self._spark_version = spark_version
+
@property
def time_created(self):
"""
diff --git a/src/oci/data_safe/data_safe_client.py b/src/oci/data_safe/data_safe_client.py
index ba1672e636..fd6ee45082 100644
--- a/src/oci/data_safe/data_safe_client.py
+++ b/src/oci/data_safe/data_safe_client.py
@@ -86,6 +86,103 @@ def __init__(self, config, **kwargs):
self.base_client = BaseClient("data_safe", config, signer, data_safe_type_mapping, **base_client_init_kwargs)
self.retry_strategy = kwargs.get('retry_strategy')
+ def activate_target_database(self, activate_target_database_details, target_database_id, **kwargs):
+ """
+ Reactivates a previously deactivated Data Safe target database.
+
+
+ :param oci.data_safe.models.ActivateTargetDatabaseDetails activate_target_database_details: (required)
+ The details used to reactivate a target database in Data Safe.
+
+ :param str target_database_id: (required)
+ The OCID of the Data Safe target database.
+
+ :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 might be rejected.
+
+ :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 str opc_request_id: (optional)
+ Unique identifier for the request.
+
+ :param obj retry_strategy: (optional)
+ A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.
+
+ This should be one of the strategies available in the :py:mod:`~oci.retry` module. A convenience :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY`
+ is also available. The specifics of the default retry strategy are described `here `__.
+
+ To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.
+
+ :return: A :class:`~oci.response.Response` object with data of type None
+ :rtype: :class:`~oci.response.Response`
+
+ :example:
+ Click `here `__ to see an example of how to use activate_target_database API.
+ """
+ resource_path = "/targetDatabases/{targetDatabaseId}/actions/activate"
+ method = "POST"
+
+ # Don't accept unknown kwargs
+ expected_kwargs = [
+ "retry_strategy",
+ "opc_retry_token",
+ "if_match",
+ "opc_request_id"
+ ]
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
+ if extra_kwargs:
+ raise ValueError(
+ "activate_target_database got unknown kwargs: {!r}".format(extra_kwargs))
+
+ path_params = {
+ "targetDatabaseId": target_database_id
+ }
+
+ path_params = {k: v for (k, v) in six.iteritems(path_params) if v is not missing}
+
+ for (k, v) in six.iteritems(path_params):
+ if v is None or (isinstance(v, six.string_types) and len(v.strip()) == 0):
+ raise ValueError('Parameter {} cannot be None, whitespace or empty string'.format(k))
+
+ header_params = {
+ "accept": "application/json",
+ "content-type": "application/json",
+ "opc-retry-token": kwargs.get("opc_retry_token", missing),
+ "if-match": kwargs.get("if_match", missing),
+ "opc-request-id": kwargs.get("opc_request_id", missing)
+ }
+ header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
+
+ retry_strategy = self.retry_strategy
+ if kwargs.get('retry_strategy'):
+ retry_strategy = kwargs.get('retry_strategy')
+
+ if retry_strategy:
+ 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,
+ path_params=path_params,
+ header_params=header_params,
+ body=activate_target_database_details)
+ else:
+ return self.base_client.call_api(
+ resource_path=resource_path,
+ method=method,
+ path_params=path_params,
+ header_params=header_params,
+ body=activate_target_database_details)
+
def change_data_safe_private_endpoint_compartment(self, data_safe_private_endpoint_id, change_data_safe_private_endpoint_compartment_details, **kwargs):
"""
Moves the Data Safe private endpoint and its dependent resources to the specified compartment.
@@ -242,9 +339,425 @@ def change_on_prem_connector_compartment(self, on_prem_connector_id, change_on_p
header_params = {
"accept": "application/json",
"content-type": "application/json",
- "opc-request-id": kwargs.get("opc_request_id", missing),
+ "opc-request-id": kwargs.get("opc_request_id", missing),
+ "if-match": kwargs.get("if_match", missing),
+ "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,
+ path_params=path_params,
+ header_params=header_params,
+ body=change_on_prem_connector_compartment_details)
+ else:
+ return self.base_client.call_api(
+ resource_path=resource_path,
+ method=method,
+ path_params=path_params,
+ header_params=header_params,
+ body=change_on_prem_connector_compartment_details)
+
+ def change_target_database_compartment(self, target_database_id, change_target_database_compartment_details, **kwargs):
+ """
+ Moves the Data Safe target database to the specified compartment.
+
+
+ :param str target_database_id: (required)
+ The OCID of the Data Safe target database.
+
+ :param oci.data_safe.models.ChangeTargetDatabaseCompartmentDetails change_target_database_compartment_details: (required)
+ Details of the move compartment request.
+
+ :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 str opc_request_id: (optional)
+ Unique identifier for the request.
+
+ :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 might 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 None
+ :rtype: :class:`~oci.response.Response`
+
+ :example:
+ Click `here `__ to see an example of how to use change_target_database_compartment API.
+ """
+ resource_path = "/targetDatabases/{targetDatabaseId}/actions/changeCompartment"
+ method = "POST"
+
+ # Don't accept unknown kwargs
+ expected_kwargs = [
+ "retry_strategy",
+ "if_match",
+ "opc_request_id",
+ "opc_retry_token"
+ ]
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
+ if extra_kwargs:
+ raise ValueError(
+ "change_target_database_compartment got unknown kwargs: {!r}".format(extra_kwargs))
+
+ path_params = {
+ "targetDatabaseId": target_database_id
+ }
+
+ path_params = {k: v for (k, v) in six.iteritems(path_params) if v is not missing}
+
+ for (k, v) in six.iteritems(path_params):
+ if v is None or (isinstance(v, six.string_types) and len(v.strip()) == 0):
+ raise ValueError('Parameter {} cannot be None, whitespace or empty string'.format(k))
+
+ header_params = {
+ "accept": "application/json",
+ "content-type": "application/json",
+ "if-match": kwargs.get("if_match", missing),
+ "opc-request-id": kwargs.get("opc_request_id", missing),
+ "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,
+ path_params=path_params,
+ header_params=header_params,
+ body=change_target_database_compartment_details)
+ else:
+ return self.base_client.call_api(
+ resource_path=resource_path,
+ method=method,
+ path_params=path_params,
+ header_params=header_params,
+ body=change_target_database_compartment_details)
+
+ def create_data_safe_private_endpoint(self, create_data_safe_private_endpoint_details, **kwargs):
+ """
+ Creates a new Data Safe private endpoint.
+
+
+ :param oci.data_safe.models.CreateDataSafePrivateEndpointDetails create_data_safe_private_endpoint_details: (required)
+ Details to create a new private endpoint.
+
+ :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 might be rejected.
+
+ :param str opc_request_id: (optional)
+ Unique identifier for the request.
+
+ :param obj retry_strategy: (optional)
+ A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.
+
+ This should be one of the strategies available in the :py:mod:`~oci.retry` module. A convenience :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY`
+ is also available. The specifics of the default retry strategy are described `here `__.
+
+ To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.
+
+ :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.data_safe.models.DataSafePrivateEndpoint`
+ :rtype: :class:`~oci.response.Response`
+
+ :example:
+ Click `here `__ to see an example of how to use create_data_safe_private_endpoint API.
+ """
+ resource_path = "/dataSafePrivateEndpoints"
+ method = "POST"
+
+ # Don't accept unknown kwargs
+ expected_kwargs = [
+ "retry_strategy",
+ "opc_retry_token",
+ "opc_request_id"
+ ]
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
+ if extra_kwargs:
+ raise ValueError(
+ "create_data_safe_private_endpoint 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),
+ "opc-request-id": kwargs.get("opc_request_id", missing)
+ }
+ header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
+
+ retry_strategy = self.retry_strategy
+ if kwargs.get('retry_strategy'):
+ retry_strategy = kwargs.get('retry_strategy')
+
+ if retry_strategy:
+ 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_data_safe_private_endpoint_details,
+ response_type="DataSafePrivateEndpoint")
+ else:
+ return self.base_client.call_api(
+ resource_path=resource_path,
+ method=method,
+ header_params=header_params,
+ body=create_data_safe_private_endpoint_details,
+ response_type="DataSafePrivateEndpoint")
+
+ def create_on_prem_connector(self, create_on_prem_connector_details, **kwargs):
+ """
+ Creates a new on-premises connector.
+
+
+ :param oci.data_safe.models.CreateOnPremConnectorDetails create_on_prem_connector_details: (required)
+ The details used to create a new on-premises connector.
+
+ :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 might be rejected.
+
+ :param str opc_request_id: (optional)
+ Unique identifier for the request.
+
+ :param obj retry_strategy: (optional)
+ A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.
+
+ This should be one of the strategies available in the :py:mod:`~oci.retry` module. A convenience :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY`
+ is also available. The specifics of the default retry strategy are described `here `__.
+
+ To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.
+
+ :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.data_safe.models.OnPremConnector`
+ :rtype: :class:`~oci.response.Response`
+
+ :example:
+ Click `here `__ to see an example of how to use create_on_prem_connector API.
+ """
+ resource_path = "/onPremConnectors"
+ method = "POST"
+
+ # Don't accept unknown kwargs
+ expected_kwargs = [
+ "retry_strategy",
+ "opc_retry_token",
+ "opc_request_id"
+ ]
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
+ if extra_kwargs:
+ raise ValueError(
+ "create_on_prem_connector 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),
+ "opc-request-id": kwargs.get("opc_request_id", missing)
+ }
+ header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
+
+ retry_strategy = self.retry_strategy
+ if kwargs.get('retry_strategy'):
+ retry_strategy = kwargs.get('retry_strategy')
+
+ if retry_strategy:
+ 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_on_prem_connector_details,
+ response_type="OnPremConnector")
+ else:
+ return self.base_client.call_api(
+ resource_path=resource_path,
+ method=method,
+ header_params=header_params,
+ body=create_on_prem_connector_details,
+ response_type="OnPremConnector")
+
+ def create_target_database(self, create_target_database_details, **kwargs):
+ """
+ Registers the specified database with Data Safe and creates a Data Safe target database in the Data Safe Console.
+
+
+ :param oci.data_safe.models.CreateTargetDatabaseDetails create_target_database_details: (required)
+ Details of the target database.
+
+ :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 might be rejected.
+
+ :param str opc_request_id: (optional)
+ Unique identifier for the request.
+
+ :param obj retry_strategy: (optional)
+ A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.
+
+ This should be one of the strategies available in the :py:mod:`~oci.retry` module. A convenience :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY`
+ is also available. The specifics of the default retry strategy are described `here `__.
+
+ To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.
+
+ :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.data_safe.models.TargetDatabase`
+ :rtype: :class:`~oci.response.Response`
+
+ :example:
+ Click `here `__ to see an example of how to use create_target_database API.
+ """
+ resource_path = "/targetDatabases"
+ method = "POST"
+
+ # Don't accept unknown kwargs
+ expected_kwargs = [
+ "retry_strategy",
+ "opc_retry_token",
+ "opc_request_id"
+ ]
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
+ if extra_kwargs:
+ raise ValueError(
+ "create_target_database 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),
+ "opc-request-id": kwargs.get("opc_request_id", missing)
+ }
+ header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
+
+ retry_strategy = self.retry_strategy
+ if kwargs.get('retry_strategy'):
+ retry_strategy = kwargs.get('retry_strategy')
+
+ if retry_strategy:
+ 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_target_database_details,
+ response_type="TargetDatabase")
+ else:
+ return self.base_client.call_api(
+ resource_path=resource_path,
+ method=method,
+ header_params=header_params,
+ body=create_target_database_details,
+ response_type="TargetDatabase")
+
+ def deactivate_target_database(self, target_database_id, **kwargs):
+ """
+ Deactivates a target database in Data Safe.
+
+
+ :param str target_database_id: (required)
+ The OCID of the Data Safe target database.
+
+ :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 might be rejected.
+
+ :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 str opc_request_id: (optional)
+ Unique identifier for the request.
+
+ :param obj retry_strategy: (optional)
+ A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.
+
+ This should be one of the strategies available in the :py:mod:`~oci.retry` module. A convenience :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY`
+ is also available. The specifics of the default retry strategy are described `here `__.
+
+ To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.
+
+ :return: A :class:`~oci.response.Response` object with data of type None
+ :rtype: :class:`~oci.response.Response`
+
+ :example:
+ Click `here `__ to see an example of how to use deactivate_target_database API.
+ """
+ resource_path = "/targetDatabases/{targetDatabaseId}/actions/deactivate"
+ method = "POST"
+
+ # Don't accept unknown kwargs
+ expected_kwargs = [
+ "retry_strategy",
+ "opc_retry_token",
+ "if_match",
+ "opc_request_id"
+ ]
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
+ if extra_kwargs:
+ raise ValueError(
+ "deactivate_target_database got unknown kwargs: {!r}".format(extra_kwargs))
+
+ path_params = {
+ "targetDatabaseId": target_database_id
+ }
+
+ path_params = {k: v for (k, v) in six.iteritems(path_params) if v is not missing}
+
+ for (k, v) in six.iteritems(path_params):
+ if v is None or (isinstance(v, six.string_types) and len(v.strip()) == 0):
+ raise ValueError('Parameter {} cannot be None, whitespace or empty string'.format(k))
+
+ header_params = {
+ "accept": "application/json",
+ "content-type": "application/json",
+ "opc-retry-token": kwargs.get("opc_retry_token", missing),
"if-match": kwargs.get("if_match", missing),
- "opc-retry-token": kwargs.get("opc_retry_token", missing)
+ "opc-request-id": kwargs.get("opc_request_id", missing)
}
header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
@@ -260,29 +773,28 @@ def change_on_prem_connector_compartment(self, on_prem_connector_id, change_on_p
resource_path=resource_path,
method=method,
path_params=path_params,
- header_params=header_params,
- body=change_on_prem_connector_compartment_details)
+ 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,
- body=change_on_prem_connector_compartment_details)
+ header_params=header_params)
- def create_data_safe_private_endpoint(self, create_data_safe_private_endpoint_details, **kwargs):
+ def delete_data_safe_private_endpoint(self, data_safe_private_endpoint_id, **kwargs):
"""
- Creates a new Data Safe private endpoint.
+ Deletes the specified Data Safe private endpoint.
- :param oci.data_safe.models.CreateDataSafePrivateEndpointDetails create_data_safe_private_endpoint_details: (required)
- Details to create a new private endpoint.
+ :param str data_safe_private_endpoint_id: (required)
+ The OCID of the private endpoint.
- :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 might be rejected.
+ :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 str opc_request_id: (optional)
Unique identifier for the request.
@@ -295,30 +807,40 @@ def create_data_safe_private_endpoint(self, create_data_safe_private_endpoint_de
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.data_safe.models.DataSafePrivateEndpoint`
+ :return: A :class:`~oci.response.Response` object with data of type None
:rtype: :class:`~oci.response.Response`
:example:
- Click `here `__ to see an example of how to use create_data_safe_private_endpoint API.
+ Click `here `__ to see an example of how to use delete_data_safe_private_endpoint API.
"""
- resource_path = "/dataSafePrivateEndpoints"
- method = "POST"
+ resource_path = "/dataSafePrivateEndpoints/{dataSafePrivateEndpointId}"
+ method = "DELETE"
# Don't accept unknown kwargs
expected_kwargs = [
"retry_strategy",
- "opc_retry_token",
+ "if_match",
"opc_request_id"
]
extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
if extra_kwargs:
raise ValueError(
- "create_data_safe_private_endpoint got unknown kwargs: {!r}".format(extra_kwargs))
+ "delete_data_safe_private_endpoint got unknown kwargs: {!r}".format(extra_kwargs))
+
+ path_params = {
+ "dataSafePrivateEndpointId": data_safe_private_endpoint_id
+ }
+
+ path_params = {k: v for (k, v) in six.iteritems(path_params) if v is not missing}
+
+ for (k, v) in six.iteritems(path_params):
+ if v is None or (isinstance(v, six.string_types) and len(v.strip()) == 0):
+ raise ValueError('Parameter {} cannot be None, whitespace or empty string'.format(k))
header_params = {
"accept": "application/json",
"content-type": "application/json",
- "opc-retry-token": kwargs.get("opc_retry_token", missing),
+ "if-match": kwargs.get("if_match", missing),
"opc-request-id": kwargs.get("opc_request_id", missing)
}
header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
@@ -328,36 +850,33 @@ def create_data_safe_private_endpoint(self, create_data_safe_private_endpoint_de
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_data_safe_private_endpoint_details,
- response_type="DataSafePrivateEndpoint")
+ path_params=path_params,
+ header_params=header_params)
else:
return self.base_client.call_api(
resource_path=resource_path,
method=method,
- header_params=header_params,
- body=create_data_safe_private_endpoint_details,
- response_type="DataSafePrivateEndpoint")
+ path_params=path_params,
+ header_params=header_params)
- def create_on_prem_connector(self, create_on_prem_connector_details, **kwargs):
+ def delete_on_prem_connector(self, on_prem_connector_id, **kwargs):
"""
- Creates a new on-premises connector.
+ Deletes the specified on-premises connector.
- :param oci.data_safe.models.CreateOnPremConnectorDetails create_on_prem_connector_details: (required)
- The details used to create a new on-premises connector.
+ :param str on_prem_connector_id: (required)
+ The OCID of the on-premises connector.
- :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 might be rejected.
+ :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 str opc_request_id: (optional)
Unique identifier for the request.
@@ -370,30 +889,40 @@ def create_on_prem_connector(self, create_on_prem_connector_details, **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.data_safe.models.OnPremConnector`
+ :return: A :class:`~oci.response.Response` object with data of type None
:rtype: :class:`~oci.response.Response`
:example:
- Click `here `__ to see an example of how to use create_on_prem_connector API.
+ Click `here `__ to see an example of how to use delete_on_prem_connector API.
"""
- resource_path = "/onPremConnectors"
- method = "POST"
+ resource_path = "/onPremConnectors/{onPremConnectorId}"
+ method = "DELETE"
# Don't accept unknown kwargs
expected_kwargs = [
"retry_strategy",
- "opc_retry_token",
+ "if_match",
"opc_request_id"
]
extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
if extra_kwargs:
raise ValueError(
- "create_on_prem_connector got unknown kwargs: {!r}".format(extra_kwargs))
+ "delete_on_prem_connector got unknown kwargs: {!r}".format(extra_kwargs))
+
+ path_params = {
+ "onPremConnectorId": on_prem_connector_id
+ }
+
+ path_params = {k: v for (k, v) in six.iteritems(path_params) if v is not missing}
+
+ for (k, v) in six.iteritems(path_params):
+ if v is None or (isinstance(v, six.string_types) and len(v.strip()) == 0):
+ raise ValueError('Parameter {} cannot be None, whitespace or empty string'.format(k))
header_params = {
"accept": "application/json",
"content-type": "application/json",
- "opc-retry-token": kwargs.get("opc_retry_token", missing),
+ "if-match": kwargs.get("if_match", missing),
"opc-request-id": kwargs.get("opc_request_id", missing)
}
header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
@@ -403,30 +932,26 @@ def create_on_prem_connector(self, create_on_prem_connector_details, **kwargs):
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_on_prem_connector_details,
- response_type="OnPremConnector")
+ path_params=path_params,
+ header_params=header_params)
else:
return self.base_client.call_api(
resource_path=resource_path,
method=method,
- header_params=header_params,
- body=create_on_prem_connector_details,
- response_type="OnPremConnector")
+ path_params=path_params,
+ header_params=header_params)
- def delete_data_safe_private_endpoint(self, data_safe_private_endpoint_id, **kwargs):
+ def delete_target_database(self, target_database_id, **kwargs):
"""
- Deletes the specified Data Safe private endpoint.
+ Deregisters the specified database from Data Safe and removes the target database from the Data Safe Console.
- :param str data_safe_private_endpoint_id: (required)
- The OCID of the private endpoint.
+ :param str target_database_id: (required)
+ The OCID of the Data Safe target database.
:param str if_match: (optional)
For optimistic concurrency control. In the PUT or DELETE call
@@ -450,9 +975,9 @@ def delete_data_safe_private_endpoint(self, data_safe_private_endpoint_id, **kwa
:rtype: :class:`~oci.response.Response`
:example:
- Click `here `__ to see an example of how to use delete_data_safe_private_endpoint API.
+ Click `here `__ to see an example of how to use delete_target_database API.
"""
- resource_path = "/dataSafePrivateEndpoints/{dataSafePrivateEndpointId}"
+ resource_path = "/targetDatabases/{targetDatabaseId}"
method = "DELETE"
# Don't accept unknown kwargs
@@ -464,10 +989,10 @@ def delete_data_safe_private_endpoint(self, data_safe_private_endpoint_id, **kwa
extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
if extra_kwargs:
raise ValueError(
- "delete_data_safe_private_endpoint got unknown kwargs: {!r}".format(extra_kwargs))
+ "delete_target_database got unknown kwargs: {!r}".format(extra_kwargs))
path_params = {
- "dataSafePrivateEndpointId": data_safe_private_endpoint_id
+ "targetDatabaseId": target_database_id
}
path_params = {k: v for (k, v) in six.iteritems(path_params) if v is not missing}
@@ -502,13 +1027,19 @@ def delete_data_safe_private_endpoint(self, data_safe_private_endpoint_id, **kwa
path_params=path_params,
header_params=header_params)
- def delete_on_prem_connector(self, on_prem_connector_id, **kwargs):
+ def download_privilege_script(self, **kwargs):
"""
- Deletes the specified on-premises connector.
+ Downloads the privilege script to grant/revoke required roles from the Data Safe account on the target database.
- :param str on_prem_connector_id: (required)
- The OCID of the on-premises connector.
+ :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 might be rejected.
+
+ :param str opc_request_id: (optional)
+ Unique identifier for the request.
:param str if_match: (optional)
For optimistic concurrency control. In the PUT or DELETE call
@@ -517,9 +1048,6 @@ def delete_on_prem_connector(self, on_prem_connector_id, **kwargs):
The resource will be updated or deleted only if the etag you
provide matches the resource's current etag value.
- :param str opc_request_id: (optional)
- Unique identifier for the request.
-
:param obj retry_strategy: (optional)
A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.
@@ -528,41 +1056,33 @@ def delete_on_prem_connector(self, on_prem_connector_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 None
+ :return: A :class:`~oci.response.Response` object with data of type stream
:rtype: :class:`~oci.response.Response`
:example:
- Click `here `__ to see an example of how to use delete_on_prem_connector API.
+ Click `here `__ to see an example of how to use download_privilege_script API.
"""
- resource_path = "/onPremConnectors/{onPremConnectorId}"
- method = "DELETE"
+ resource_path = "/actions/downloadPrivilegeScript"
+ method = "POST"
# Don't accept unknown kwargs
expected_kwargs = [
"retry_strategy",
- "if_match",
- "opc_request_id"
+ "opc_retry_token",
+ "opc_request_id",
+ "if_match"
]
extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
if extra_kwargs:
raise ValueError(
- "delete_on_prem_connector got unknown kwargs: {!r}".format(extra_kwargs))
-
- path_params = {
- "onPremConnectorId": on_prem_connector_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))
+ "download_privilege_script got unknown kwargs: {!r}".format(extra_kwargs))
header_params = {
- "accept": "application/json",
+ "accept": "application/octet-stream",
"content-type": "application/json",
- "if-match": kwargs.get("if_match", missing),
- "opc-request-id": kwargs.get("opc_request_id", missing)
+ "opc-retry-token": kwargs.get("opc_retry_token", missing),
+ "opc-request-id": kwargs.get("opc_request_id", missing),
+ "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}
@@ -571,18 +1091,20 @@ def delete_on_prem_connector(self, on_prem_connector_id, **kwargs):
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,
- path_params=path_params,
- header_params=header_params)
+ header_params=header_params,
+ response_type="stream")
else:
return self.base_client.call_api(
resource_path=resource_path,
method=method,
- path_params=path_params,
- header_params=header_params)
+ header_params=header_params,
+ response_type="stream")
def enable_data_safe_configuration(self, enable_data_safe_configuration_details, **kwargs):
"""
@@ -903,22 +1425,97 @@ def get_data_safe_private_endpoint(self, data_safe_private_endpoint_id, **kwargs
method=method,
path_params=path_params,
header_params=header_params,
- response_type="DataSafePrivateEndpoint")
+ response_type="DataSafePrivateEndpoint")
+ else:
+ return self.base_client.call_api(
+ resource_path=resource_path,
+ method=method,
+ path_params=path_params,
+ header_params=header_params,
+ response_type="DataSafePrivateEndpoint")
+
+ def get_on_prem_connector(self, on_prem_connector_id, **kwargs):
+ """
+ Gets the details of the specified on-premises connector.
+
+
+ :param str on_prem_connector_id: (required)
+ The OCID of the on-premises connector.
+
+ :param str opc_request_id: (optional)
+ Unique identifier for the request.
+
+ :param obj retry_strategy: (optional)
+ A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.
+
+ This should be one of the strategies available in the :py:mod:`~oci.retry` module. A convenience :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY`
+ is also available. The specifics of the default retry strategy are described `here `__.
+
+ To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.
+
+ :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.data_safe.models.OnPremConnector`
+ :rtype: :class:`~oci.response.Response`
+
+ :example:
+ Click `here `__ to see an example of how to use get_on_prem_connector API.
+ """
+ resource_path = "/onPremConnectors/{onPremConnectorId}"
+ method = "GET"
+
+ # Don't accept unknown kwargs
+ expected_kwargs = [
+ "retry_strategy",
+ "opc_request_id"
+ ]
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
+ if extra_kwargs:
+ raise ValueError(
+ "get_on_prem_connector got unknown kwargs: {!r}".format(extra_kwargs))
+
+ path_params = {
+ "onPremConnectorId": on_prem_connector_id
+ }
+
+ path_params = {k: v for (k, v) in six.iteritems(path_params) if v is not missing}
+
+ for (k, v) in six.iteritems(path_params):
+ if v is None or (isinstance(v, six.string_types) and len(v.strip()) == 0):
+ raise ValueError('Parameter {} cannot be None, whitespace or empty string'.format(k))
+
+ header_params = {
+ "accept": "application/json",
+ "content-type": "application/json",
+ "opc-request-id": kwargs.get("opc_request_id", missing)
+ }
+ header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
+
+ retry_strategy = self.retry_strategy
+ if kwargs.get('retry_strategy'):
+ retry_strategy = kwargs.get('retry_strategy')
+
+ if retry_strategy:
+ return retry_strategy.make_retrying_call(
+ self.base_client.call_api,
+ resource_path=resource_path,
+ method=method,
+ path_params=path_params,
+ header_params=header_params,
+ response_type="OnPremConnector")
else:
return self.base_client.call_api(
resource_path=resource_path,
method=method,
path_params=path_params,
header_params=header_params,
- response_type="DataSafePrivateEndpoint")
+ response_type="OnPremConnector")
- def get_on_prem_connector(self, on_prem_connector_id, **kwargs):
+ def get_target_database(self, target_database_id, **kwargs):
"""
- Gets the details of the specified on-premises connector.
+ Returns the details of the specified Data Safe target database.
- :param str on_prem_connector_id: (required)
- The OCID of the on-premises connector.
+ :param str target_database_id: (required)
+ The OCID of the Data Safe target database.
:param str opc_request_id: (optional)
Unique identifier for the request.
@@ -931,13 +1528,13 @@ def get_on_prem_connector(self, on_prem_connector_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.data_safe.models.OnPremConnector`
+ :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.data_safe.models.TargetDatabase`
:rtype: :class:`~oci.response.Response`
:example:
- Click `here `__ to see an example of how to use get_on_prem_connector API.
+ Click `here `__ to see an example of how to use get_target_database API.
"""
- resource_path = "/onPremConnectors/{onPremConnectorId}"
+ resource_path = "/targetDatabases/{targetDatabaseId}"
method = "GET"
# Don't accept unknown kwargs
@@ -948,10 +1545,10 @@ def get_on_prem_connector(self, on_prem_connector_id, **kwargs):
extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
if extra_kwargs:
raise ValueError(
- "get_on_prem_connector got unknown kwargs: {!r}".format(extra_kwargs))
+ "get_target_database got unknown kwargs: {!r}".format(extra_kwargs))
path_params = {
- "onPremConnectorId": on_prem_connector_id
+ "targetDatabaseId": target_database_id
}
path_params = {k: v for (k, v) in six.iteritems(path_params) if v is not missing}
@@ -978,14 +1575,14 @@ def get_on_prem_connector(self, on_prem_connector_id, **kwargs):
method=method,
path_params=path_params,
header_params=header_params,
- response_type="OnPremConnector")
+ response_type="TargetDatabase")
else:
return self.base_client.call_api(
resource_path=resource_path,
method=method,
path_params=path_params,
header_params=header_params,
- response_type="OnPremConnector")
+ response_type="TargetDatabase")
def get_work_request(self, work_request_id, **kwargs):
"""
@@ -1097,13 +1694,27 @@ def list_data_safe_private_endpoints(self, compartment_id, **kwargs):
Allowed values are: "ASC", "DESC"
:param str sort_by: (optional)
- The field to sort by. You can specify only one sort order (sortOrder). The default order for TIMECREATED is descending. The default order for DISPLAYNAME is ascending. The DISPLAYNAME sort order is case sensitive.
+ The field used for sorting. Only one sorting order (sortOrder) can be specified.
+ The default order for TIMECREATED is descending. The default order for DISPLAYNAME is ascending.
+ The DISPLAYNAME sort order is case sensitive.
Allowed values are: "TIMECREATED", "DISPLAYNAME"
:param str opc_request_id: (optional)
Unique identifier for the request.
+ :param bool compartment_id_in_subtree: (optional)
+ Default is false.
+ When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.
+
+ :param str access_level: (optional)
+ Valid values are RESTRICTED and ACCESSIBLE. Default is RESTRICTED.
+ Setting this to ACCESSIBLE returns only those compartments for which the
+ user has INSPECT permissions directly or indirectly (permissions can be on a
+ resource in a subcompartment). When set to RESTRICTED permissions are checked and no partial results are displayed.
+
+ Allowed values are: "RESTRICTED", "ACCESSIBLE"
+
: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.
@@ -1131,7 +1742,9 @@ def list_data_safe_private_endpoints(self, compartment_id, **kwargs):
"page",
"sort_order",
"sort_by",
- "opc_request_id"
+ "opc_request_id",
+ "compartment_id_in_subtree",
+ "access_level"
]
extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
if extra_kwargs:
@@ -1159,6 +1772,13 @@ def list_data_safe_private_endpoints(self, compartment_id, **kwargs):
"Invalid value for `sort_by`, must be one of {0}".format(sort_by_allowed_values)
)
+ if 'access_level' in kwargs:
+ access_level_allowed_values = ["RESTRICTED", "ACCESSIBLE"]
+ if kwargs['access_level'] not in access_level_allowed_values:
+ raise ValueError(
+ "Invalid value for `access_level`, must be one of {0}".format(access_level_allowed_values)
+ )
+
query_params = {
"compartmentId": compartment_id,
"displayName": kwargs.get("display_name", missing),
@@ -1167,7 +1787,9 @@ def list_data_safe_private_endpoints(self, compartment_id, **kwargs):
"limit": kwargs.get("limit", missing),
"page": kwargs.get("page", missing),
"sortOrder": kwargs.get("sort_order", missing),
- "sortBy": kwargs.get("sort_by", missing)
+ "sortBy": kwargs.get("sort_by", missing),
+ "compartmentIdInSubtree": kwargs.get("compartment_id_in_subtree", missing),
+ "accessLevel": kwargs.get("access_level", missing)
}
query_params = {k: v for (k, v) in six.iteritems(query_params) if v is not missing and v is not None}
@@ -1233,13 +1855,27 @@ def list_on_prem_connectors(self, compartment_id, **kwargs):
Allowed values are: "ASC", "DESC"
:param str sort_by: (optional)
- The field to sort by. You can specify only one sort order (sortOrder). The default order for TIMECREATED is descending. The default order for DISPLAYNAME is ascending. The DISPLAYNAME sort order is case sensitive.
+ The field used for sorting. Only one sorting order (sortOrder) can be specified.
+ The default order for TIMECREATED is descending. The default order for DISPLAYNAME is ascending.
+ The DISPLAYNAME sort order is case sensitive.
Allowed values are: "TIMECREATED", "DISPLAYNAME"
:param str opc_request_id: (optional)
Unique identifier for the request.
+ :param bool compartment_id_in_subtree: (optional)
+ Default is false.
+ When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.
+
+ :param str access_level: (optional)
+ Valid values are RESTRICTED and ACCESSIBLE. Default is RESTRICTED.
+ Setting this to ACCESSIBLE returns only those compartments for which the
+ user has INSPECT permissions directly or indirectly (permissions can be on a
+ resource in a subcompartment). When set to RESTRICTED permissions are checked and no partial results are displayed.
+
+ Allowed values are: "RESTRICTED", "ACCESSIBLE"
+
: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.
@@ -1267,7 +1903,9 @@ def list_on_prem_connectors(self, compartment_id, **kwargs):
"page",
"sort_order",
"sort_by",
- "opc_request_id"
+ "opc_request_id",
+ "compartment_id_in_subtree",
+ "access_level"
]
extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
if extra_kwargs:
@@ -1295,6 +1933,13 @@ def list_on_prem_connectors(self, compartment_id, **kwargs):
"Invalid value for `sort_by`, must be one of {0}".format(sort_by_allowed_values)
)
+ if 'access_level' in kwargs:
+ access_level_allowed_values = ["RESTRICTED", "ACCESSIBLE"]
+ if kwargs['access_level'] not in access_level_allowed_values:
+ raise ValueError(
+ "Invalid value for `access_level`, must be one of {0}".format(access_level_allowed_values)
+ )
+
query_params = {
"compartmentId": compartment_id,
"onPremConnectorId": kwargs.get("on_prem_connector_id", missing),
@@ -1303,7 +1948,9 @@ def list_on_prem_connectors(self, compartment_id, **kwargs):
"limit": kwargs.get("limit", missing),
"page": kwargs.get("page", missing),
"sortOrder": kwargs.get("sort_order", missing),
- "sortBy": kwargs.get("sort_by", missing)
+ "sortBy": kwargs.get("sort_by", missing),
+ "compartmentIdInSubtree": kwargs.get("compartment_id_in_subtree", missing),
+ "accessLevel": kwargs.get("access_level", missing)
}
query_params = {k: v for (k, v) in six.iteritems(query_params) if v is not missing and v is not None}
@@ -1334,6 +1981,195 @@ def list_on_prem_connectors(self, compartment_id, **kwargs):
header_params=header_params,
response_type="list[OnPremConnectorSummary]")
+ def list_target_databases(self, compartment_id, **kwargs):
+ """
+ Returns the list of registered target databases in Data Safe.
+
+
+ :param str compartment_id: (required)
+ A filter to return only resources that match the specified compartment OCID.
+
+ :param str target_database_id: (optional)
+ A filter to return the target database that matches the specified OCID.
+
+ :param str display_name: (optional)
+ A filter to return only resources that match the specified display name.
+
+ :param str lifecycle_state: (optional)
+ A filter to return the target databases that matches the current state of the target database.
+
+ Allowed values are: "CREATING", "UPDATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED", "NEEDS_ATTENTION", "FAILED"
+
+ :param str database_type: (optional)
+ A filter to return target databases that match the database type of the target database.
+
+ Allowed values are: "DATABASE_CLOUD_SERVICE", "AUTONOMOUS_DATABASE", "INSTALLED_DATABASE"
+
+ :param str infrastructure_type: (optional)
+ A filter to return target databases that match the infrastructure type of the target database.
+
+ Allowed values are: "ORACLE_CLOUD", "CLOUD_AT_CUSTOMER", "ON_PREMISES", "NON_ORACLE_CLOUD"
+
+ :param int limit: (optional)
+ For list pagination. The maximum number of items to return per page in a paginated \"List\" call. For details about how pagination works, see `List Pagination`__.
+
+ __ https://docs.cloud.oracle.com/en-us/iaas/Content/API/Concepts/usingapi.htm#nine
+
+ :param str page: (optional)
+ For list pagination. The page token representing the page at which to start retrieving results. It is usually retrieved from a previous \"List\" call. For details about how pagination works, see `List Pagination`__.
+
+ __ https://docs.cloud.oracle.com/en-us/iaas/Content/API/Concepts/usingapi.htm#nine
+
+ :param bool compartment_id_in_subtree: (optional)
+ Default is false.
+ When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.
+
+ :param str access_level: (optional)
+ Valid values are RESTRICTED and ACCESSIBLE. Default is RESTRICTED.
+ Setting this to ACCESSIBLE returns only those compartments for which the
+ user has INSPECT permissions directly or indirectly (permissions can be on a
+ resource in a subcompartment). When set to RESTRICTED permissions are checked and no partial results are displayed.
+
+ Allowed values are: "RESTRICTED", "ACCESSIBLE"
+
+ :param str sort_order: (optional)
+ The sort order to use, either ascending (ASC) or descending (DESC).
+
+ Allowed values are: "ASC", "DESC"
+
+ :param str sort_by: (optional)
+ The field used for sorting. Only one sorting order (sortOrder) can be specified.
+ The default order for TIMECREATED is descending. The default order for DISPLAYNAME is ascending.
+ The DISPLAYNAME sort order is case sensitive.
+
+ Allowed values are: "TIMECREATED", "DISPLAYNAME"
+
+ :param str opc_request_id: (optional)
+ Unique identifier for the request.
+
+ :param obj retry_strategy: (optional)
+ A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.
+
+ This should be one of the strategies available in the :py:mod:`~oci.retry` module. A convenience :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY`
+ is also available. The specifics of the default retry strategy are described `here `__.
+
+ To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.
+
+ :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.data_safe.models.TargetDatabaseSummary`
+ :rtype: :class:`~oci.response.Response`
+
+ :example:
+ Click `here `__ to see an example of how to use list_target_databases API.
+ """
+ resource_path = "/targetDatabases"
+ method = "GET"
+
+ # Don't accept unknown kwargs
+ expected_kwargs = [
+ "retry_strategy",
+ "target_database_id",
+ "display_name",
+ "lifecycle_state",
+ "database_type",
+ "infrastructure_type",
+ "limit",
+ "page",
+ "compartment_id_in_subtree",
+ "access_level",
+ "sort_order",
+ "sort_by",
+ "opc_request_id"
+ ]
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
+ if extra_kwargs:
+ raise ValueError(
+ "list_target_databases got unknown kwargs: {!r}".format(extra_kwargs))
+
+ if 'lifecycle_state' in kwargs:
+ lifecycle_state_allowed_values = ["CREATING", "UPDATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED", "NEEDS_ATTENTION", "FAILED"]
+ 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)
+ )
+
+ if 'database_type' in kwargs:
+ database_type_allowed_values = ["DATABASE_CLOUD_SERVICE", "AUTONOMOUS_DATABASE", "INSTALLED_DATABASE"]
+ if kwargs['database_type'] not in database_type_allowed_values:
+ raise ValueError(
+ "Invalid value for `database_type`, must be one of {0}".format(database_type_allowed_values)
+ )
+
+ if 'infrastructure_type' in kwargs:
+ infrastructure_type_allowed_values = ["ORACLE_CLOUD", "CLOUD_AT_CUSTOMER", "ON_PREMISES", "NON_ORACLE_CLOUD"]
+ if kwargs['infrastructure_type'] not in infrastructure_type_allowed_values:
+ raise ValueError(
+ "Invalid value for `infrastructure_type`, must be one of {0}".format(infrastructure_type_allowed_values)
+ )
+
+ if 'access_level' in kwargs:
+ access_level_allowed_values = ["RESTRICTED", "ACCESSIBLE"]
+ if kwargs['access_level'] not in access_level_allowed_values:
+ raise ValueError(
+ "Invalid value for `access_level`, must be one of {0}".format(access_level_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 '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)
+ )
+
+ query_params = {
+ "compartmentId": compartment_id,
+ "targetDatabaseId": kwargs.get("target_database_id", missing),
+ "displayName": kwargs.get("display_name", missing),
+ "lifecycleState": kwargs.get("lifecycle_state", missing),
+ "databaseType": kwargs.get("database_type", missing),
+ "infrastructureType": kwargs.get("infrastructure_type", missing),
+ "limit": kwargs.get("limit", missing),
+ "page": kwargs.get("page", missing),
+ "compartmentIdInSubtree": kwargs.get("compartment_id_in_subtree", missing),
+ "accessLevel": kwargs.get("access_level", missing),
+ "sortOrder": kwargs.get("sort_order", missing),
+ "sortBy": kwargs.get("sort_by", 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",
+ "opc-request-id": kwargs.get("opc_request_id", missing)
+ }
+ header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
+
+ retry_strategy = self.retry_strategy
+ if kwargs.get('retry_strategy'):
+ retry_strategy = kwargs.get('retry_strategy')
+
+ if retry_strategy:
+ return retry_strategy.make_retrying_call(
+ self.base_client.call_api,
+ resource_path=resource_path,
+ method=method,
+ query_params=query_params,
+ header_params=header_params,
+ response_type="list[TargetDatabaseSummary]")
+ else:
+ return self.base_client.call_api(
+ resource_path=resource_path,
+ method=method,
+ query_params=query_params,
+ header_params=header_params,
+ response_type="list[TargetDatabaseSummary]")
+
def list_work_request_errors(self, work_request_id, **kwargs):
"""
Gets a list of errors for the specified work request.
@@ -1532,6 +2368,9 @@ def list_work_requests(self, compartment_id, **kwargs):
:param str compartment_id: (required)
A filter to return only resources that match the specified compartment OCID.
+ :param str operation_type: (optional)
+ A filter to return only work requests that match the specific operation type.
+
:param str resource_id: (optional)
A filter to return only work requests that match the specified resource OCID.
@@ -1568,6 +2407,7 @@ def list_work_requests(self, compartment_id, **kwargs):
# Don't accept unknown kwargs
expected_kwargs = [
"retry_strategy",
+ "operation_type",
"resource_id",
"opc_request_id",
"page",
@@ -1580,6 +2420,7 @@ def list_work_requests(self, compartment_id, **kwargs):
query_params = {
"compartmentId": compartment_id,
+ "operationType": kwargs.get("operation_type", missing),
"resourceId": kwargs.get("resource_id", missing),
"page": kwargs.get("page", missing),
"limit": kwargs.get("limit", missing)
@@ -1883,3 +2724,100 @@ def update_on_prem_connector_wallet(self, update_on_prem_connector_wallet_detail
path_params=path_params,
header_params=header_params,
body=update_on_prem_connector_wallet_details)
+
+ def update_target_database(self, target_database_id, update_target_database_details, **kwargs):
+ """
+ Updates one or more attributes of the specified Data Safe target database.
+
+
+ :param str target_database_id: (required)
+ The OCID of the Data Safe target database.
+
+ :param oci.data_safe.models.UpdateTargetDatabaseDetails update_target_database_details: (required)
+ Details used to update the target database in Data Safe.
+
+ :param str opc_request_id: (optional)
+ Unique identifier for the request.
+
+ :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 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 might 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 None
+ :rtype: :class:`~oci.response.Response`
+
+ :example:
+ Click `here `__ to see an example of how to use update_target_database API.
+ """
+ resource_path = "/targetDatabases/{targetDatabaseId}"
+ method = "PUT"
+
+ # Don't accept unknown kwargs
+ expected_kwargs = [
+ "retry_strategy",
+ "opc_request_id",
+ "if_match",
+ "opc_retry_token"
+ ]
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
+ if extra_kwargs:
+ raise ValueError(
+ "update_target_database got unknown kwargs: {!r}".format(extra_kwargs))
+
+ path_params = {
+ "targetDatabaseId": target_database_id
+ }
+
+ path_params = {k: v for (k, v) in six.iteritems(path_params) if v is not missing}
+
+ for (k, v) in six.iteritems(path_params):
+ if v is None or (isinstance(v, six.string_types) and len(v.strip()) == 0):
+ raise ValueError('Parameter {} cannot be None, whitespace or empty string'.format(k))
+
+ header_params = {
+ "accept": "application/json",
+ "content-type": "application/json",
+ "opc-request-id": kwargs.get("opc_request_id", missing),
+ "if-match": kwargs.get("if_match", missing),
+ "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,
+ path_params=path_params,
+ header_params=header_params,
+ body=update_target_database_details)
+ else:
+ return self.base_client.call_api(
+ resource_path=resource_path,
+ method=method,
+ path_params=path_params,
+ header_params=header_params,
+ body=update_target_database_details)
diff --git a/src/oci/data_safe/data_safe_client_composite_operations.py b/src/oci/data_safe/data_safe_client_composite_operations.py
index 49fb020025..57bc24588e 100644
--- a/src/oci/data_safe/data_safe_client_composite_operations.py
+++ b/src/oci/data_safe/data_safe_client_composite_operations.py
@@ -23,6 +23,47 @@ def __init__(self, client, **kwargs):
"""
self.client = client
+ def activate_target_database_and_wait_for_state(self, activate_target_database_details, target_database_id, wait_for_states=[], operation_kwargs={}, waiter_kwargs={}):
+ """
+ Calls :py:func:`~oci.data_safe.DataSafeClient.activate_target_database` and waits for the :py:class:`~oci.data_safe.models.WorkRequest`
+ to enter the given state(s).
+
+ :param oci.data_safe.models.ActivateTargetDatabaseDetails activate_target_database_details: (required)
+ The details used to reactivate a target database in Data Safe.
+
+ :param str target_database_id: (required)
+ The OCID of the Data Safe target database.
+
+ :param list[str] wait_for_states:
+ An array of states to wait on. These should be valid values for :py:attr:`~oci.data_safe.models.WorkRequest.status`
+
+ :param dict operation_kwargs:
+ A dictionary of keyword arguments to pass to :py:func:`~oci.data_safe.DataSafeClient.activate_target_database`
+
+ :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.activate_target_database(activate_target_database_details, target_database_id, **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.headers['opc-work-request-id']
+
+ try:
+ waiter_result = oci.wait_until(
+ self.client,
+ self.client.get_work_request(wait_for_resource_id),
+ evaluate_response=lambda r: getattr(r.data, 'status') and getattr(r.data, 'status').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 change_data_safe_private_endpoint_compartment_and_wait_for_state(self, data_safe_private_endpoint_id, change_data_safe_private_endpoint_compartment_details, wait_for_states=[], operation_kwargs={}, waiter_kwargs={}):
"""
Calls :py:func:`~oci.data_safe.DataSafeClient.change_data_safe_private_endpoint_compartment` and waits for the :py:class:`~oci.data_safe.models.WorkRequest`
@@ -140,6 +181,82 @@ def create_on_prem_connector_and_wait_for_state(self, create_on_prem_connector_d
except Exception as e:
raise oci.exceptions.CompositeOperationError(partial_results=[operation_result], cause=e)
+ def create_target_database_and_wait_for_state(self, create_target_database_details, wait_for_states=[], operation_kwargs={}, waiter_kwargs={}):
+ """
+ Calls :py:func:`~oci.data_safe.DataSafeClient.create_target_database` and waits for the :py:class:`~oci.data_safe.models.WorkRequest`
+ to enter the given state(s).
+
+ :param oci.data_safe.models.CreateTargetDatabaseDetails create_target_database_details: (required)
+ Details of the target database.
+
+ :param list[str] wait_for_states:
+ An array of states to wait on. These should be valid values for :py:attr:`~oci.data_safe.models.WorkRequest.status`
+
+ :param dict operation_kwargs:
+ A dictionary of keyword arguments to pass to :py:func:`~oci.data_safe.DataSafeClient.create_target_database`
+
+ :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_target_database(create_target_database_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.headers['opc-work-request-id']
+
+ try:
+ waiter_result = oci.wait_until(
+ self.client,
+ self.client.get_work_request(wait_for_resource_id),
+ evaluate_response=lambda r: getattr(r.data, 'status') and getattr(r.data, 'status').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 deactivate_target_database_and_wait_for_state(self, target_database_id, wait_for_states=[], operation_kwargs={}, waiter_kwargs={}):
+ """
+ Calls :py:func:`~oci.data_safe.DataSafeClient.deactivate_target_database` and waits for the :py:class:`~oci.data_safe.models.WorkRequest`
+ to enter the given state(s).
+
+ :param str target_database_id: (required)
+ The OCID of the Data Safe target database.
+
+ :param list[str] wait_for_states:
+ An array of states to wait on. These should be valid values for :py:attr:`~oci.data_safe.models.WorkRequest.status`
+
+ :param dict operation_kwargs:
+ A dictionary of keyword arguments to pass to :py:func:`~oci.data_safe.DataSafeClient.deactivate_target_database`
+
+ :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.deactivate_target_database(target_database_id, **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.headers['opc-work-request-id']
+
+ try:
+ waiter_result = oci.wait_until(
+ self.client,
+ self.client.get_work_request(wait_for_resource_id),
+ evaluate_response=lambda r: getattr(r.data, 'status') and getattr(r.data, 'status').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 delete_data_safe_private_endpoint_and_wait_for_state(self, data_safe_private_endpoint_id, wait_for_states=[], operation_kwargs={}, waiter_kwargs={}):
"""
Calls :py:func:`~oci.data_safe.DataSafeClient.delete_data_safe_private_endpoint` and waits for the :py:class:`~oci.data_safe.models.WorkRequest`
@@ -232,6 +349,52 @@ def delete_on_prem_connector_and_wait_for_state(self, on_prem_connector_id, wait
except Exception as e:
raise oci.exceptions.CompositeOperationError(partial_results=[operation_result], cause=e)
+ def delete_target_database_and_wait_for_state(self, target_database_id, wait_for_states=[], operation_kwargs={}, waiter_kwargs={}):
+ """
+ Calls :py:func:`~oci.data_safe.DataSafeClient.delete_target_database` and waits for the :py:class:`~oci.data_safe.models.WorkRequest`
+ to enter the given state(s).
+
+ :param str target_database_id: (required)
+ The OCID of the Data Safe target database.
+
+ :param list[str] wait_for_states:
+ An array of states to wait on. These should be valid values for :py:attr:`~oci.data_safe.models.WorkRequest.status`
+
+ :param dict operation_kwargs:
+ A dictionary of keyword arguments to pass to :py:func:`~oci.data_safe.DataSafeClient.delete_target_database`
+
+ :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 = None
+ try:
+ operation_result = self.client.delete_target_database(target_database_id, **operation_kwargs)
+ except oci.exceptions.ServiceError as e:
+ if e.status == 404:
+ return WAIT_RESOURCE_NOT_FOUND
+ else:
+ raise e
+
+ 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.headers['opc-work-request-id']
+
+ try:
+ waiter_result = oci.wait_until(
+ self.client,
+ self.client.get_work_request(wait_for_resource_id),
+ evaluate_response=lambda r: getattr(r.data, 'status') and getattr(r.data, 'status').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 enable_data_safe_configuration_and_wait_for_state(self, enable_data_safe_configuration_details, wait_for_states=[], operation_kwargs={}, waiter_kwargs={}):
"""
Calls :py:func:`~oci.data_safe.DataSafeClient.enable_data_safe_configuration` and waits for the :py:class:`~oci.data_safe.models.WorkRequest`
@@ -392,3 +555,44 @@ def update_on_prem_connector_wallet_and_wait_for_state(self, update_on_prem_conn
return result_to_return
except Exception as e:
raise oci.exceptions.CompositeOperationError(partial_results=[operation_result], cause=e)
+
+ def update_target_database_and_wait_for_state(self, target_database_id, update_target_database_details, wait_for_states=[], operation_kwargs={}, waiter_kwargs={}):
+ """
+ Calls :py:func:`~oci.data_safe.DataSafeClient.update_target_database` and waits for the :py:class:`~oci.data_safe.models.WorkRequest`
+ to enter the given state(s).
+
+ :param str target_database_id: (required)
+ The OCID of the Data Safe target database.
+
+ :param oci.data_safe.models.UpdateTargetDatabaseDetails update_target_database_details: (required)
+ Details used to update the target database in Data Safe.
+
+ :param list[str] wait_for_states:
+ An array of states to wait on. These should be valid values for :py:attr:`~oci.data_safe.models.WorkRequest.status`
+
+ :param dict operation_kwargs:
+ A dictionary of keyword arguments to pass to :py:func:`~oci.data_safe.DataSafeClient.update_target_database`
+
+ :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_target_database(target_database_id, update_target_database_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.headers['opc-work-request-id']
+
+ try:
+ waiter_result = oci.wait_until(
+ self.client,
+ self.client.get_work_request(wait_for_resource_id),
+ evaluate_response=lambda r: getattr(r.data, 'status') and getattr(r.data, 'status').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)
diff --git a/src/oci/data_safe/models/__init__.py b/src/oci/data_safe/models/__init__.py
index 69f91def0f..0c777c26cc 100644
--- a/src/oci/data_safe/models/__init__.py
+++ b/src/oci/data_safe/models/__init__.py
@@ -4,20 +4,35 @@
from __future__ import absolute_import
+from .activate_target_database_details import ActivateTargetDatabaseDetails
+from .autonomous_database_details import AutonomousDatabaseDetails
from .change_data_safe_private_endpoint_compartment_details import ChangeDataSafePrivateEndpointCompartmentDetails
from .change_on_prem_connector_compartment_details import ChangeOnPremConnectorCompartmentDetails
+from .change_target_database_compartment_details import ChangeTargetDatabaseCompartmentDetails
+from .connection_option import ConnectionOption
from .create_data_safe_private_endpoint_details import CreateDataSafePrivateEndpointDetails
from .create_on_prem_connector_details import CreateOnPremConnectorDetails
+from .create_target_database_details import CreateTargetDatabaseDetails
+from .credentials import Credentials
from .data_safe_configuration import DataSafeConfiguration
from .data_safe_private_endpoint import DataSafePrivateEndpoint
from .data_safe_private_endpoint_summary import DataSafePrivateEndpointSummary
+from .database_cloud_service_details import DatabaseCloudServiceDetails
+from .database_details import DatabaseDetails
from .enable_data_safe_configuration_details import EnableDataSafeConfigurationDetails
from .generate_on_prem_connector_configuration_details import GenerateOnPremConnectorConfigurationDetails
+from .installed_database_details import InstalledDatabaseDetails
from .on_prem_connector import OnPremConnector
from .on_prem_connector_summary import OnPremConnectorSummary
+from .on_premise_connector import OnPremiseConnector
+from .private_endpoint import PrivateEndpoint
+from .target_database import TargetDatabase
+from .target_database_summary import TargetDatabaseSummary
+from .tls_config import TlsConfig
from .update_data_safe_private_endpoint_details import UpdateDataSafePrivateEndpointDetails
from .update_on_prem_connector_details import UpdateOnPremConnectorDetails
from .update_on_prem_connector_wallet_details import UpdateOnPremConnectorWalletDetails
+from .update_target_database_details import UpdateTargetDatabaseDetails
from .work_request import WorkRequest
from .work_request_error import WorkRequestError
from .work_request_log_entry import WorkRequestLogEntry
@@ -26,20 +41,35 @@
# Maps type names to classes for data_safe services.
data_safe_type_mapping = {
+ "ActivateTargetDatabaseDetails": ActivateTargetDatabaseDetails,
+ "AutonomousDatabaseDetails": AutonomousDatabaseDetails,
"ChangeDataSafePrivateEndpointCompartmentDetails": ChangeDataSafePrivateEndpointCompartmentDetails,
"ChangeOnPremConnectorCompartmentDetails": ChangeOnPremConnectorCompartmentDetails,
+ "ChangeTargetDatabaseCompartmentDetails": ChangeTargetDatabaseCompartmentDetails,
+ "ConnectionOption": ConnectionOption,
"CreateDataSafePrivateEndpointDetails": CreateDataSafePrivateEndpointDetails,
"CreateOnPremConnectorDetails": CreateOnPremConnectorDetails,
+ "CreateTargetDatabaseDetails": CreateTargetDatabaseDetails,
+ "Credentials": Credentials,
"DataSafeConfiguration": DataSafeConfiguration,
"DataSafePrivateEndpoint": DataSafePrivateEndpoint,
"DataSafePrivateEndpointSummary": DataSafePrivateEndpointSummary,
+ "DatabaseCloudServiceDetails": DatabaseCloudServiceDetails,
+ "DatabaseDetails": DatabaseDetails,
"EnableDataSafeConfigurationDetails": EnableDataSafeConfigurationDetails,
"GenerateOnPremConnectorConfigurationDetails": GenerateOnPremConnectorConfigurationDetails,
+ "InstalledDatabaseDetails": InstalledDatabaseDetails,
"OnPremConnector": OnPremConnector,
"OnPremConnectorSummary": OnPremConnectorSummary,
+ "OnPremiseConnector": OnPremiseConnector,
+ "PrivateEndpoint": PrivateEndpoint,
+ "TargetDatabase": TargetDatabase,
+ "TargetDatabaseSummary": TargetDatabaseSummary,
+ "TlsConfig": TlsConfig,
"UpdateDataSafePrivateEndpointDetails": UpdateDataSafePrivateEndpointDetails,
"UpdateOnPremConnectorDetails": UpdateOnPremConnectorDetails,
"UpdateOnPremConnectorWalletDetails": UpdateOnPremConnectorWalletDetails,
+ "UpdateTargetDatabaseDetails": UpdateTargetDatabaseDetails,
"WorkRequest": WorkRequest,
"WorkRequestError": WorkRequestError,
"WorkRequestLogEntry": WorkRequestLogEntry,
diff --git a/src/oci/data_safe/models/activate_target_database_details.py b/src/oci/data_safe/models/activate_target_database_details.py
new file mode 100644
index 0000000000..595c18dd10
--- /dev/null
+++ b/src/oci/data_safe/models/activate_target_database_details.py
@@ -0,0 +1,66 @@
+# coding: utf-8
+# Copyright (c) 2016, 2021, Oracle and/or its affiliates. All rights reserved.
+# This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+
+
+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 ActivateTargetDatabaseDetails(object):
+ """
+ The details required to reactivate a previously deactived target database in Data Safe.
+ """
+
+ def __init__(self, **kwargs):
+ """
+ Initializes a new ActivateTargetDatabaseDetails object with values from keyword arguments.
+ The following keyword arguments are supported (corresponding to the getters/setters of this class):
+
+ :param credentials:
+ The value to assign to the credentials property of this ActivateTargetDatabaseDetails.
+ :type credentials: oci.data_safe.models.Credentials
+
+ """
+ self.swagger_types = {
+ 'credentials': 'Credentials'
+ }
+
+ self.attribute_map = {
+ 'credentials': 'credentials'
+ }
+
+ self._credentials = None
+
+ @property
+ def credentials(self):
+ """
+ **[Required]** Gets the credentials of this ActivateTargetDatabaseDetails.
+
+ :return: The credentials of this ActivateTargetDatabaseDetails.
+ :rtype: oci.data_safe.models.Credentials
+ """
+ return self._credentials
+
+ @credentials.setter
+ def credentials(self, credentials):
+ """
+ Sets the credentials of this ActivateTargetDatabaseDetails.
+
+ :param credentials: The credentials of this ActivateTargetDatabaseDetails.
+ :type: oci.data_safe.models.Credentials
+ """
+ self._credentials = credentials
+
+ 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/data_safe/models/autonomous_database_details.py b/src/oci/data_safe/models/autonomous_database_details.py
new file mode 100644
index 0000000000..ff6701c528
--- /dev/null
+++ b/src/oci/data_safe/models/autonomous_database_details.py
@@ -0,0 +1,88 @@
+# coding: utf-8
+# Copyright (c) 2016, 2021, Oracle and/or its affiliates. All rights reserved.
+# This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+
+from .database_details import DatabaseDetails
+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 AutonomousDatabaseDetails(DatabaseDetails):
+ """
+ The details of the Oracle Autonomous Database to be registered as a target database in Data Safe.
+ """
+
+ def __init__(self, **kwargs):
+ """
+ Initializes a new AutonomousDatabaseDetails object with values from keyword arguments. The default value of the :py:attr:`~oci.data_safe.models.AutonomousDatabaseDetails.database_type` attribute
+ of this class is ``AUTONOMOUS_DATABASE`` and it should not be changed.
+ The following keyword arguments are supported (corresponding to the getters/setters of this class):
+
+ :param database_type:
+ The value to assign to the database_type property of this AutonomousDatabaseDetails.
+ Allowed values for this property are: "DATABASE_CLOUD_SERVICE", "AUTONOMOUS_DATABASE", "INSTALLED_DATABASE"
+ :type database_type: str
+
+ :param infrastructure_type:
+ The value to assign to the infrastructure_type property of this AutonomousDatabaseDetails.
+ Allowed values for this property are: "ORACLE_CLOUD", "CLOUD_AT_CUSTOMER", "ON_PREMISES", "NON_ORACLE_CLOUD"
+ :type infrastructure_type: str
+
+ :param autonomous_database_id:
+ The value to assign to the autonomous_database_id property of this AutonomousDatabaseDetails.
+ :type autonomous_database_id: str
+
+ """
+ self.swagger_types = {
+ 'database_type': 'str',
+ 'infrastructure_type': 'str',
+ 'autonomous_database_id': 'str'
+ }
+
+ self.attribute_map = {
+ 'database_type': 'databaseType',
+ 'infrastructure_type': 'infrastructureType',
+ 'autonomous_database_id': 'autonomousDatabaseId'
+ }
+
+ self._database_type = None
+ self._infrastructure_type = None
+ self._autonomous_database_id = None
+ self._database_type = 'AUTONOMOUS_DATABASE'
+
+ @property
+ def autonomous_database_id(self):
+ """
+ Gets the autonomous_database_id of this AutonomousDatabaseDetails.
+ The OCID of the autonomous database registered as a target database in Data Safe.
+
+
+ :return: The autonomous_database_id of this AutonomousDatabaseDetails.
+ :rtype: str
+ """
+ return self._autonomous_database_id
+
+ @autonomous_database_id.setter
+ def autonomous_database_id(self, autonomous_database_id):
+ """
+ Sets the autonomous_database_id of this AutonomousDatabaseDetails.
+ The OCID of the autonomous database registered as a target database in Data Safe.
+
+
+ :param autonomous_database_id: The autonomous_database_id of this AutonomousDatabaseDetails.
+ :type: str
+ """
+ self._autonomous_database_id = autonomous_database_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/data_safe/models/change_target_database_compartment_details.py b/src/oci/data_safe/models/change_target_database_compartment_details.py
new file mode 100644
index 0000000000..d0c3c1b11d
--- /dev/null
+++ b/src/oci/data_safe/models/change_target_database_compartment_details.py
@@ -0,0 +1,70 @@
+# coding: utf-8
+# Copyright (c) 2016, 2021, Oracle and/or its affiliates. All rights reserved.
+# This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+
+
+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 ChangeTargetDatabaseCompartmentDetails(object):
+ """
+ The details used to change the compartment of a Data Safe target database.
+ """
+
+ def __init__(self, **kwargs):
+ """
+ Initializes a new ChangeTargetDatabaseCompartmentDetails 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 ChangeTargetDatabaseCompartmentDetails.
+ :type compartment_id: str
+
+ """
+ self.swagger_types = {
+ 'compartment_id': 'str'
+ }
+
+ self.attribute_map = {
+ 'compartment_id': 'compartmentId'
+ }
+
+ self._compartment_id = None
+
+ @property
+ def compartment_id(self):
+ """
+ **[Required]** Gets the compartment_id of this ChangeTargetDatabaseCompartmentDetails.
+ The OCID of the new compartment to where you want to move the Data Safe target database.
+
+
+ :return: The compartment_id of this ChangeTargetDatabaseCompartmentDetails.
+ :rtype: str
+ """
+ return self._compartment_id
+
+ @compartment_id.setter
+ def compartment_id(self, compartment_id):
+ """
+ Sets the compartment_id of this ChangeTargetDatabaseCompartmentDetails.
+ The OCID of the new compartment to where you want to move the Data Safe target database.
+
+
+ :param compartment_id: The compartment_id of this ChangeTargetDatabaseCompartmentDetails.
+ :type: str
+ """
+ self._compartment_id = compartment_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/data_safe/models/connection_option.py b/src/oci/data_safe/models/connection_option.py
new file mode 100644
index 0000000000..4c33213f9b
--- /dev/null
+++ b/src/oci/data_safe/models/connection_option.py
@@ -0,0 +1,111 @@
+# coding: utf-8
+# Copyright (c) 2016, 2021, Oracle and/or its affiliates. All rights reserved.
+# This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+
+
+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 ConnectionOption(object):
+ """
+ Types of connection supported by Data Safe.
+ """
+
+ #: A constant which can be used with the connection_type property of a ConnectionOption.
+ #: This constant has a value of "PRIVATE_ENDPOINT"
+ CONNECTION_TYPE_PRIVATE_ENDPOINT = "PRIVATE_ENDPOINT"
+
+ #: A constant which can be used with the connection_type property of a ConnectionOption.
+ #: This constant has a value of "ONPREM_CONNECTOR"
+ CONNECTION_TYPE_ONPREM_CONNECTOR = "ONPREM_CONNECTOR"
+
+ def __init__(self, **kwargs):
+ """
+ Initializes a new ConnectionOption 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.data_safe.models.PrivateEndpoint`
+ * :class:`~oci.data_safe.models.OnPremiseConnector`
+
+ The following keyword arguments are supported (corresponding to the getters/setters of this class):
+
+ :param connection_type:
+ The value to assign to the connection_type property of this ConnectionOption.
+ Allowed values for this property are: "PRIVATE_ENDPOINT", "ONPREM_CONNECTOR", 'UNKNOWN_ENUM_VALUE'.
+ Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
+ :type connection_type: str
+
+ """
+ self.swagger_types = {
+ 'connection_type': 'str'
+ }
+
+ self.attribute_map = {
+ 'connection_type': 'connectionType'
+ }
+
+ self._connection_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['connectionType']
+
+ if type == 'PRIVATE_ENDPOINT':
+ return 'PrivateEndpoint'
+
+ if type == 'ONPREM_CONNECTOR':
+ return 'OnPremiseConnector'
+ else:
+ return 'ConnectionOption'
+
+ @property
+ def connection_type(self):
+ """
+ **[Required]** Gets the connection_type of this ConnectionOption.
+ The connection type used to connect to the database. Allowed values:
+ - PRIVATE_ENDPOINT - Represents connection through private endpoint in Data Safe.
+ - ONPREM_CONNECTOR - Represents connection through on-premises connector in Data Safe.
+
+ Allowed values for this property are: "PRIVATE_ENDPOINT", "ONPREM_CONNECTOR", 'UNKNOWN_ENUM_VALUE'.
+ Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
+
+
+ :return: The connection_type of this ConnectionOption.
+ :rtype: str
+ """
+ return self._connection_type
+
+ @connection_type.setter
+ def connection_type(self, connection_type):
+ """
+ Sets the connection_type of this ConnectionOption.
+ The connection type used to connect to the database. Allowed values:
+ - PRIVATE_ENDPOINT - Represents connection through private endpoint in Data Safe.
+ - ONPREM_CONNECTOR - Represents connection through on-premises connector in Data Safe.
+
+
+ :param connection_type: The connection_type of this ConnectionOption.
+ :type: str
+ """
+ allowed_values = ["PRIVATE_ENDPOINT", "ONPREM_CONNECTOR"]
+ if not value_allowed_none_or_none_sentinel(connection_type, allowed_values):
+ connection_type = 'UNKNOWN_ENUM_VALUE'
+ self._connection_type = connection_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/data_safe/models/create_target_database_details.py b/src/oci/data_safe/models/create_target_database_details.py
new file mode 100644
index 0000000000..83455321e3
--- /dev/null
+++ b/src/oci/data_safe/models/create_target_database_details.py
@@ -0,0 +1,318 @@
+# coding: utf-8
+# Copyright (c) 2016, 2021, Oracle and/or its affiliates. All rights reserved.
+# This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+
+
+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 CreateTargetDatabaseDetails(object):
+ """
+ The details used to register the database in Data Safe and to create the Data Safe target database.
+ """
+
+ def __init__(self, **kwargs):
+ """
+ Initializes a new CreateTargetDatabaseDetails 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 CreateTargetDatabaseDetails.
+ :type compartment_id: str
+
+ :param display_name:
+ The value to assign to the display_name property of this CreateTargetDatabaseDetails.
+ :type display_name: str
+
+ :param description:
+ The value to assign to the description property of this CreateTargetDatabaseDetails.
+ :type description: str
+
+ :param database_details:
+ The value to assign to the database_details property of this CreateTargetDatabaseDetails.
+ :type database_details: oci.data_safe.models.DatabaseDetails
+
+ :param credentials:
+ The value to assign to the credentials property of this CreateTargetDatabaseDetails.
+ :type credentials: oci.data_safe.models.Credentials
+
+ :param tls_config:
+ The value to assign to the tls_config property of this CreateTargetDatabaseDetails.
+ :type tls_config: oci.data_safe.models.TlsConfig
+
+ :param connection_option:
+ The value to assign to the connection_option property of this CreateTargetDatabaseDetails.
+ :type connection_option: oci.data_safe.models.ConnectionOption
+
+ :param freeform_tags:
+ The value to assign to the freeform_tags property of this CreateTargetDatabaseDetails.
+ :type freeform_tags: dict(str, str)
+
+ :param defined_tags:
+ The value to assign to the defined_tags property of this CreateTargetDatabaseDetails.
+ :type defined_tags: dict(str, dict(str, object))
+
+ """
+ self.swagger_types = {
+ 'compartment_id': 'str',
+ 'display_name': 'str',
+ 'description': 'str',
+ 'database_details': 'DatabaseDetails',
+ 'credentials': 'Credentials',
+ 'tls_config': 'TlsConfig',
+ 'connection_option': 'ConnectionOption',
+ 'freeform_tags': 'dict(str, str)',
+ 'defined_tags': 'dict(str, dict(str, object))'
+ }
+
+ self.attribute_map = {
+ 'compartment_id': 'compartmentId',
+ 'display_name': 'displayName',
+ 'description': 'description',
+ 'database_details': 'databaseDetails',
+ 'credentials': 'credentials',
+ 'tls_config': 'tlsConfig',
+ 'connection_option': 'connectionOption',
+ 'freeform_tags': 'freeformTags',
+ 'defined_tags': 'definedTags'
+ }
+
+ self._compartment_id = None
+ self._display_name = None
+ self._description = None
+ self._database_details = None
+ self._credentials = None
+ self._tls_config = None
+ self._connection_option = None
+ self._freeform_tags = None
+ self._defined_tags = None
+
+ @property
+ def compartment_id(self):
+ """
+ **[Required]** Gets the compartment_id of this CreateTargetDatabaseDetails.
+ The OCID of the compartment in which to create the Data Safe target database.
+
+
+ :return: The compartment_id of this CreateTargetDatabaseDetails.
+ :rtype: str
+ """
+ return self._compartment_id
+
+ @compartment_id.setter
+ def compartment_id(self, compartment_id):
+ """
+ Sets the compartment_id of this CreateTargetDatabaseDetails.
+ The OCID of the compartment in which to create the Data Safe target database.
+
+
+ :param compartment_id: The compartment_id of this CreateTargetDatabaseDetails.
+ :type: str
+ """
+ self._compartment_id = compartment_id
+
+ @property
+ def display_name(self):
+ """
+ Gets the display_name of this CreateTargetDatabaseDetails.
+ The display name of the target database in Data Safe. The name is modifiable and does not need to be unique.
+
+
+ :return: The display_name of this CreateTargetDatabaseDetails.
+ :rtype: str
+ """
+ return self._display_name
+
+ @display_name.setter
+ def display_name(self, display_name):
+ """
+ Sets the display_name of this CreateTargetDatabaseDetails.
+ The display name of the target database in Data Safe. The name is modifiable and does not need to be unique.
+
+
+ :param display_name: The display_name of this CreateTargetDatabaseDetails.
+ :type: str
+ """
+ self._display_name = display_name
+
+ @property
+ def description(self):
+ """
+ Gets the description of this CreateTargetDatabaseDetails.
+ The description of the target database in Data Safe.
+
+
+ :return: The description of this CreateTargetDatabaseDetails.
+ :rtype: str
+ """
+ return self._description
+
+ @description.setter
+ def description(self, description):
+ """
+ Sets the description of this CreateTargetDatabaseDetails.
+ The description of the target database in Data Safe.
+
+
+ :param description: The description of this CreateTargetDatabaseDetails.
+ :type: str
+ """
+ self._description = description
+
+ @property
+ def database_details(self):
+ """
+ **[Required]** Gets the database_details of this CreateTargetDatabaseDetails.
+
+ :return: The database_details of this CreateTargetDatabaseDetails.
+ :rtype: oci.data_safe.models.DatabaseDetails
+ """
+ return self._database_details
+
+ @database_details.setter
+ def database_details(self, database_details):
+ """
+ Sets the database_details of this CreateTargetDatabaseDetails.
+
+ :param database_details: The database_details of this CreateTargetDatabaseDetails.
+ :type: oci.data_safe.models.DatabaseDetails
+ """
+ self._database_details = database_details
+
+ @property
+ def credentials(self):
+ """
+ Gets the credentials of this CreateTargetDatabaseDetails.
+
+ :return: The credentials of this CreateTargetDatabaseDetails.
+ :rtype: oci.data_safe.models.Credentials
+ """
+ return self._credentials
+
+ @credentials.setter
+ def credentials(self, credentials):
+ """
+ Sets the credentials of this CreateTargetDatabaseDetails.
+
+ :param credentials: The credentials of this CreateTargetDatabaseDetails.
+ :type: oci.data_safe.models.Credentials
+ """
+ self._credentials = credentials
+
+ @property
+ def tls_config(self):
+ """
+ Gets the tls_config of this CreateTargetDatabaseDetails.
+
+ :return: The tls_config of this CreateTargetDatabaseDetails.
+ :rtype: oci.data_safe.models.TlsConfig
+ """
+ return self._tls_config
+
+ @tls_config.setter
+ def tls_config(self, tls_config):
+ """
+ Sets the tls_config of this CreateTargetDatabaseDetails.
+
+ :param tls_config: The tls_config of this CreateTargetDatabaseDetails.
+ :type: oci.data_safe.models.TlsConfig
+ """
+ self._tls_config = tls_config
+
+ @property
+ def connection_option(self):
+ """
+ Gets the connection_option of this CreateTargetDatabaseDetails.
+
+ :return: The connection_option of this CreateTargetDatabaseDetails.
+ :rtype: oci.data_safe.models.ConnectionOption
+ """
+ return self._connection_option
+
+ @connection_option.setter
+ def connection_option(self, connection_option):
+ """
+ Sets the connection_option of this CreateTargetDatabaseDetails.
+
+ :param connection_option: The connection_option of this CreateTargetDatabaseDetails.
+ :type: oci.data_safe.models.ConnectionOption
+ """
+ self._connection_option = connection_option
+
+ @property
+ def freeform_tags(self):
+ """
+ Gets the freeform_tags of this CreateTargetDatabaseDetails.
+ 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.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm
+
+
+ :return: The freeform_tags of this CreateTargetDatabaseDetails.
+ :rtype: dict(str, str)
+ """
+ return self._freeform_tags
+
+ @freeform_tags.setter
+ def freeform_tags(self, freeform_tags):
+ """
+ Sets the freeform_tags of this CreateTargetDatabaseDetails.
+ 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.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm
+
+
+ :param freeform_tags: The freeform_tags of this CreateTargetDatabaseDetails.
+ :type: dict(str, str)
+ """
+ self._freeform_tags = freeform_tags
+
+ @property
+ def defined_tags(self):
+ """
+ Gets the defined_tags of this CreateTargetDatabaseDetails.
+ 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.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm
+
+
+ :return: The defined_tags of this CreateTargetDatabaseDetails.
+ :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 CreateTargetDatabaseDetails.
+ 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.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm
+
+
+ :param defined_tags: The defined_tags of this CreateTargetDatabaseDetails.
+ :type: dict(str, dict(str, object))
+ """
+ self._defined_tags = defined_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/data_safe/models/credentials.py b/src/oci/data_safe/models/credentials.py
new file mode 100644
index 0000000000..680e1336fd
--- /dev/null
+++ b/src/oci/data_safe/models/credentials.py
@@ -0,0 +1,101 @@
+# coding: utf-8
+# Copyright (c) 2016, 2021, Oracle and/or its affiliates. All rights reserved.
+# This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+
+
+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 Credentials(object):
+ """
+ The database credentials required for Data Safe to connect to the database.
+ """
+
+ def __init__(self, **kwargs):
+ """
+ Initializes a new Credentials object with values from keyword arguments.
+ The following keyword arguments are supported (corresponding to the getters/setters of this class):
+
+ :param user_name:
+ The value to assign to the user_name property of this Credentials.
+ :type user_name: str
+
+ :param password:
+ The value to assign to the password property of this Credentials.
+ :type password: str
+
+ """
+ self.swagger_types = {
+ 'user_name': 'str',
+ 'password': 'str'
+ }
+
+ self.attribute_map = {
+ 'user_name': 'userName',
+ 'password': 'password'
+ }
+
+ self._user_name = None
+ self._password = None
+
+ @property
+ def user_name(self):
+ """
+ **[Required]** Gets the user_name of this Credentials.
+ The database user name.
+
+
+ :return: The user_name of this Credentials.
+ :rtype: str
+ """
+ return self._user_name
+
+ @user_name.setter
+ def user_name(self, user_name):
+ """
+ Sets the user_name of this Credentials.
+ The database user name.
+
+
+ :param user_name: The user_name of this Credentials.
+ :type: str
+ """
+ self._user_name = user_name
+
+ @property
+ def password(self):
+ """
+ **[Required]** Gets the password of this Credentials.
+ The password of the database user.
+
+
+ :return: The password of this Credentials.
+ :rtype: str
+ """
+ return self._password
+
+ @password.setter
+ def password(self, password):
+ """
+ Sets the password of this Credentials.
+ The password of the database user.
+
+
+ :param password: The password of this Credentials.
+ :type: str
+ """
+ self._password = password
+
+ 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/data_safe/models/data_safe_private_endpoint.py b/src/oci/data_safe/models/data_safe_private_endpoint.py
index 427970054f..67d6eac15d 100644
--- a/src/oci/data_safe/models/data_safe_private_endpoint.py
+++ b/src/oci/data_safe/models/data_safe_private_endpoint.py
@@ -104,6 +104,10 @@ def __init__(self, **kwargs):
The value to assign to the defined_tags property of this DataSafePrivateEndpoint.
:type defined_tags: dict(str, dict(str, object))
+ :param system_tags:
+ The value to assign to the system_tags property of this DataSafePrivateEndpoint.
+ :type system_tags: dict(str, dict(str, object))
+
"""
self.swagger_types = {
'id': 'str',
@@ -119,7 +123,8 @@ def __init__(self, **kwargs):
'lifecycle_state': 'str',
'nsg_ids': 'list[str]',
'freeform_tags': 'dict(str, str)',
- 'defined_tags': 'dict(str, dict(str, object))'
+ 'defined_tags': 'dict(str, dict(str, object))',
+ 'system_tags': 'dict(str, dict(str, object))'
}
self.attribute_map = {
@@ -136,7 +141,8 @@ def __init__(self, **kwargs):
'lifecycle_state': 'lifecycleState',
'nsg_ids': 'nsgIds',
'freeform_tags': 'freeformTags',
- 'defined_tags': 'definedTags'
+ 'defined_tags': 'definedTags',
+ 'system_tags': 'systemTags'
}
self._id = None
@@ -153,6 +159,7 @@ def __init__(self, **kwargs):
self._nsg_ids = None
self._freeform_tags = None
self._defined_tags = None
+ self._system_tags = None
@property
def id(self):
@@ -516,6 +523,32 @@ def defined_tags(self, defined_tags):
"""
self._defined_tags = defined_tags
+ @property
+ def system_tags(self):
+ """
+ Gets the system_tags of this DataSafePrivateEndpoint.
+ System tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags.
+ Example: `{\"orcl-cloud\": {\"free-tier-retained\": \"true\"}}`
+
+
+ :return: The system_tags of this DataSafePrivateEndpoint.
+ :rtype: dict(str, dict(str, object))
+ """
+ return self._system_tags
+
+ @system_tags.setter
+ def system_tags(self, system_tags):
+ """
+ Sets the system_tags of this DataSafePrivateEndpoint.
+ System tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags.
+ Example: `{\"orcl-cloud\": {\"free-tier-retained\": \"true\"}}`
+
+
+ :param system_tags: The system_tags of this DataSafePrivateEndpoint.
+ :type: dict(str, dict(str, object))
+ """
+ self._system_tags = system_tags
+
def __repr__(self):
return formatted_flat_dict(self)
diff --git a/src/oci/data_safe/models/data_safe_private_endpoint_summary.py b/src/oci/data_safe/models/data_safe_private_endpoint_summary.py
index b07366d618..3abfdea757 100644
--- a/src/oci/data_safe/models/data_safe_private_endpoint_summary.py
+++ b/src/oci/data_safe/models/data_safe_private_endpoint_summary.py
@@ -84,6 +84,18 @@ def __init__(self, **kwargs):
Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
:type lifecycle_state: str
+ :param freeform_tags:
+ The value to assign to the freeform_tags property of this DataSafePrivateEndpointSummary.
+ :type freeform_tags: dict(str, str)
+
+ :param defined_tags:
+ The value to assign to the defined_tags property of this DataSafePrivateEndpointSummary.
+ :type defined_tags: dict(str, dict(str, object))
+
+ :param system_tags:
+ The value to assign to the system_tags property of this DataSafePrivateEndpointSummary.
+ :type system_tags: dict(str, dict(str, object))
+
"""
self.swagger_types = {
'id': 'str',
@@ -94,7 +106,10 @@ def __init__(self, **kwargs):
'private_endpoint_id': 'str',
'description': 'str',
'time_created': 'datetime',
- 'lifecycle_state': 'str'
+ 'lifecycle_state': 'str',
+ 'freeform_tags': 'dict(str, str)',
+ 'defined_tags': 'dict(str, dict(str, object))',
+ 'system_tags': 'dict(str, dict(str, object))'
}
self.attribute_map = {
@@ -106,7 +121,10 @@ def __init__(self, **kwargs):
'private_endpoint_id': 'privateEndpointId',
'description': 'description',
'time_created': 'timeCreated',
- 'lifecycle_state': 'lifecycleState'
+ 'lifecycle_state': 'lifecycleState',
+ 'freeform_tags': 'freeformTags',
+ 'defined_tags': 'definedTags',
+ 'system_tags': 'systemTags'
}
self._id = None
@@ -118,6 +136,9 @@ def __init__(self, **kwargs):
self._description = None
self._time_created = None
self._lifecycle_state = None
+ self._freeform_tags = None
+ self._defined_tags = None
+ self._system_tags = None
@property
def id(self):
@@ -345,6 +366,96 @@ def lifecycle_state(self, lifecycle_state):
lifecycle_state = 'UNKNOWN_ENUM_VALUE'
self._lifecycle_state = lifecycle_state
+ @property
+ def freeform_tags(self):
+ """
+ Gets the freeform_tags of this DataSafePrivateEndpointSummary.
+ 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.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm
+
+
+ :return: The freeform_tags of this DataSafePrivateEndpointSummary.
+ :rtype: dict(str, str)
+ """
+ return self._freeform_tags
+
+ @freeform_tags.setter
+ def freeform_tags(self, freeform_tags):
+ """
+ Sets the freeform_tags of this DataSafePrivateEndpointSummary.
+ 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.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm
+
+
+ :param freeform_tags: The freeform_tags of this DataSafePrivateEndpointSummary.
+ :type: dict(str, str)
+ """
+ self._freeform_tags = freeform_tags
+
+ @property
+ def defined_tags(self):
+ """
+ Gets the defined_tags of this DataSafePrivateEndpointSummary.
+ 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.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm
+
+
+ :return: The defined_tags of this DataSafePrivateEndpointSummary.
+ :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 DataSafePrivateEndpointSummary.
+ 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.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm
+
+
+ :param defined_tags: The defined_tags of this DataSafePrivateEndpointSummary.
+ :type: dict(str, dict(str, object))
+ """
+ self._defined_tags = defined_tags
+
+ @property
+ def system_tags(self):
+ """
+ Gets the system_tags of this DataSafePrivateEndpointSummary.
+ System tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags.
+ Example: `{\"orcl-cloud\": {\"free-tier-retained\": \"true\"}}`
+
+
+ :return: The system_tags of this DataSafePrivateEndpointSummary.
+ :rtype: dict(str, dict(str, object))
+ """
+ return self._system_tags
+
+ @system_tags.setter
+ def system_tags(self, system_tags):
+ """
+ Sets the system_tags of this DataSafePrivateEndpointSummary.
+ System tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags.
+ Example: `{\"orcl-cloud\": {\"free-tier-retained\": \"true\"}}`
+
+
+ :param system_tags: The system_tags of this DataSafePrivateEndpointSummary.
+ :type: dict(str, dict(str, object))
+ """
+ self._system_tags = system_tags
+
def __repr__(self):
return formatted_flat_dict(self)
diff --git a/src/oci/data_safe/models/database_cloud_service_details.py b/src/oci/data_safe/models/database_cloud_service_details.py
new file mode 100644
index 0000000000..dc1c869095
--- /dev/null
+++ b/src/oci/data_safe/models/database_cloud_service_details.py
@@ -0,0 +1,150 @@
+# coding: utf-8
+# Copyright (c) 2016, 2021, Oracle and/or its affiliates. All rights reserved.
+# This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+
+from .database_details import DatabaseDetails
+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 DatabaseCloudServiceDetails(DatabaseDetails):
+ """
+ The details of the Oracle Database Cloud Service to be registered as a target database in Data Safe.
+ """
+
+ def __init__(self, **kwargs):
+ """
+ Initializes a new DatabaseCloudServiceDetails object with values from keyword arguments. The default value of the :py:attr:`~oci.data_safe.models.DatabaseCloudServiceDetails.database_type` attribute
+ of this class is ``DATABASE_CLOUD_SERVICE`` and it should not be changed.
+ The following keyword arguments are supported (corresponding to the getters/setters of this class):
+
+ :param database_type:
+ The value to assign to the database_type property of this DatabaseCloudServiceDetails.
+ Allowed values for this property are: "DATABASE_CLOUD_SERVICE", "AUTONOMOUS_DATABASE", "INSTALLED_DATABASE"
+ :type database_type: str
+
+ :param infrastructure_type:
+ The value to assign to the infrastructure_type property of this DatabaseCloudServiceDetails.
+ Allowed values for this property are: "ORACLE_CLOUD", "CLOUD_AT_CUSTOMER", "ON_PREMISES", "NON_ORACLE_CLOUD"
+ :type infrastructure_type: str
+
+ :param vm_cluster_id:
+ The value to assign to the vm_cluster_id property of this DatabaseCloudServiceDetails.
+ :type vm_cluster_id: str
+
+ :param db_system_id:
+ The value to assign to the db_system_id property of this DatabaseCloudServiceDetails.
+ :type db_system_id: str
+
+ :param service_name:
+ The value to assign to the service_name property of this DatabaseCloudServiceDetails.
+ :type service_name: str
+
+ """
+ self.swagger_types = {
+ 'database_type': 'str',
+ 'infrastructure_type': 'str',
+ 'vm_cluster_id': 'str',
+ 'db_system_id': 'str',
+ 'service_name': 'str'
+ }
+
+ self.attribute_map = {
+ 'database_type': 'databaseType',
+ 'infrastructure_type': 'infrastructureType',
+ 'vm_cluster_id': 'vmClusterId',
+ 'db_system_id': 'dbSystemId',
+ 'service_name': 'serviceName'
+ }
+
+ self._database_type = None
+ self._infrastructure_type = None
+ self._vm_cluster_id = None
+ self._db_system_id = None
+ self._service_name = None
+ self._database_type = 'DATABASE_CLOUD_SERVICE'
+
+ @property
+ def vm_cluster_id(self):
+ """
+ Gets the vm_cluster_id of this DatabaseCloudServiceDetails.
+ The OCID of the VM cluster in which the database is running.
+
+
+ :return: The vm_cluster_id of this DatabaseCloudServiceDetails.
+ :rtype: str
+ """
+ return self._vm_cluster_id
+
+ @vm_cluster_id.setter
+ def vm_cluster_id(self, vm_cluster_id):
+ """
+ Sets the vm_cluster_id of this DatabaseCloudServiceDetails.
+ The OCID of the VM cluster in which the database is running.
+
+
+ :param vm_cluster_id: The vm_cluster_id of this DatabaseCloudServiceDetails.
+ :type: str
+ """
+ self._vm_cluster_id = vm_cluster_id
+
+ @property
+ def db_system_id(self):
+ """
+ Gets the db_system_id of this DatabaseCloudServiceDetails.
+ The OCID of the cloud database system registered as a target database in Data Safe.
+
+
+ :return: The db_system_id of this DatabaseCloudServiceDetails.
+ :rtype: str
+ """
+ return self._db_system_id
+
+ @db_system_id.setter
+ def db_system_id(self, db_system_id):
+ """
+ Sets the db_system_id of this DatabaseCloudServiceDetails.
+ The OCID of the cloud database system registered as a target database in Data Safe.
+
+
+ :param db_system_id: The db_system_id of this DatabaseCloudServiceDetails.
+ :type: str
+ """
+ self._db_system_id = db_system_id
+
+ @property
+ def service_name(self):
+ """
+ Gets the service_name of this DatabaseCloudServiceDetails.
+ The database service name.
+
+
+ :return: The service_name of this DatabaseCloudServiceDetails.
+ :rtype: str
+ """
+ return self._service_name
+
+ @service_name.setter
+ def service_name(self, service_name):
+ """
+ Sets the service_name of this DatabaseCloudServiceDetails.
+ The database service name.
+
+
+ :param service_name: The service_name of this DatabaseCloudServiceDetails.
+ :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/data_safe/models/database_details.py b/src/oci/data_safe/models/database_details.py
new file mode 100644
index 0000000000..af2381e6bb
--- /dev/null
+++ b/src/oci/data_safe/models/database_details.py
@@ -0,0 +1,172 @@
+# coding: utf-8
+# Copyright (c) 2016, 2021, Oracle and/or its affiliates. All rights reserved.
+# This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+
+
+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 DatabaseDetails(object):
+ """
+ Details of the database for the registration in Data Safe.
+ To choose applicable database type and infrastructure type refer to
+ https://confluence.oci.oraclecorp.com/display/DATASAFE/Target+V2+Design
+ """
+
+ #: A constant which can be used with the database_type property of a DatabaseDetails.
+ #: This constant has a value of "DATABASE_CLOUD_SERVICE"
+ DATABASE_TYPE_DATABASE_CLOUD_SERVICE = "DATABASE_CLOUD_SERVICE"
+
+ #: A constant which can be used with the database_type property of a DatabaseDetails.
+ #: This constant has a value of "AUTONOMOUS_DATABASE"
+ DATABASE_TYPE_AUTONOMOUS_DATABASE = "AUTONOMOUS_DATABASE"
+
+ #: A constant which can be used with the database_type property of a DatabaseDetails.
+ #: This constant has a value of "INSTALLED_DATABASE"
+ DATABASE_TYPE_INSTALLED_DATABASE = "INSTALLED_DATABASE"
+
+ #: A constant which can be used with the infrastructure_type property of a DatabaseDetails.
+ #: This constant has a value of "ORACLE_CLOUD"
+ INFRASTRUCTURE_TYPE_ORACLE_CLOUD = "ORACLE_CLOUD"
+
+ #: A constant which can be used with the infrastructure_type property of a DatabaseDetails.
+ #: This constant has a value of "CLOUD_AT_CUSTOMER"
+ INFRASTRUCTURE_TYPE_CLOUD_AT_CUSTOMER = "CLOUD_AT_CUSTOMER"
+
+ #: A constant which can be used with the infrastructure_type property of a DatabaseDetails.
+ #: This constant has a value of "ON_PREMISES"
+ INFRASTRUCTURE_TYPE_ON_PREMISES = "ON_PREMISES"
+
+ #: A constant which can be used with the infrastructure_type property of a DatabaseDetails.
+ #: This constant has a value of "NON_ORACLE_CLOUD"
+ INFRASTRUCTURE_TYPE_NON_ORACLE_CLOUD = "NON_ORACLE_CLOUD"
+
+ def __init__(self, **kwargs):
+ """
+ Initializes a new DatabaseDetails 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.data_safe.models.InstalledDatabaseDetails`
+ * :class:`~oci.data_safe.models.AutonomousDatabaseDetails`
+ * :class:`~oci.data_safe.models.DatabaseCloudServiceDetails`
+
+ The following keyword arguments are supported (corresponding to the getters/setters of this class):
+
+ :param database_type:
+ The value to assign to the database_type property of this DatabaseDetails.
+ Allowed values for this property are: "DATABASE_CLOUD_SERVICE", "AUTONOMOUS_DATABASE", "INSTALLED_DATABASE", 'UNKNOWN_ENUM_VALUE'.
+ Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
+ :type database_type: str
+
+ :param infrastructure_type:
+ The value to assign to the infrastructure_type property of this DatabaseDetails.
+ Allowed values for this property are: "ORACLE_CLOUD", "CLOUD_AT_CUSTOMER", "ON_PREMISES", "NON_ORACLE_CLOUD", 'UNKNOWN_ENUM_VALUE'.
+ Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
+ :type infrastructure_type: str
+
+ """
+ self.swagger_types = {
+ 'database_type': 'str',
+ 'infrastructure_type': 'str'
+ }
+
+ self.attribute_map = {
+ 'database_type': 'databaseType',
+ 'infrastructure_type': 'infrastructureType'
+ }
+
+ self._database_type = None
+ self._infrastructure_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['databaseType']
+
+ if type == 'INSTALLED_DATABASE':
+ return 'InstalledDatabaseDetails'
+
+ if type == 'AUTONOMOUS_DATABASE':
+ return 'AutonomousDatabaseDetails'
+
+ if type == 'DATABASE_CLOUD_SERVICE':
+ return 'DatabaseCloudServiceDetails'
+ else:
+ return 'DatabaseDetails'
+
+ @property
+ def database_type(self):
+ """
+ **[Required]** Gets the database_type of this DatabaseDetails.
+ The database type.
+
+ Allowed values for this property are: "DATABASE_CLOUD_SERVICE", "AUTONOMOUS_DATABASE", "INSTALLED_DATABASE", 'UNKNOWN_ENUM_VALUE'.
+ Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
+
+
+ :return: The database_type of this DatabaseDetails.
+ :rtype: str
+ """
+ return self._database_type
+
+ @database_type.setter
+ def database_type(self, database_type):
+ """
+ Sets the database_type of this DatabaseDetails.
+ The database type.
+
+
+ :param database_type: The database_type of this DatabaseDetails.
+ :type: str
+ """
+ allowed_values = ["DATABASE_CLOUD_SERVICE", "AUTONOMOUS_DATABASE", "INSTALLED_DATABASE"]
+ if not value_allowed_none_or_none_sentinel(database_type, allowed_values):
+ database_type = 'UNKNOWN_ENUM_VALUE'
+ self._database_type = database_type
+
+ @property
+ def infrastructure_type(self):
+ """
+ **[Required]** Gets the infrastructure_type of this DatabaseDetails.
+ The infrastructure type the database is running on.
+
+ Allowed values for this property are: "ORACLE_CLOUD", "CLOUD_AT_CUSTOMER", "ON_PREMISES", "NON_ORACLE_CLOUD", 'UNKNOWN_ENUM_VALUE'.
+ Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
+
+
+ :return: The infrastructure_type of this DatabaseDetails.
+ :rtype: str
+ """
+ return self._infrastructure_type
+
+ @infrastructure_type.setter
+ def infrastructure_type(self, infrastructure_type):
+ """
+ Sets the infrastructure_type of this DatabaseDetails.
+ The infrastructure type the database is running on.
+
+
+ :param infrastructure_type: The infrastructure_type of this DatabaseDetails.
+ :type: str
+ """
+ allowed_values = ["ORACLE_CLOUD", "CLOUD_AT_CUSTOMER", "ON_PREMISES", "NON_ORACLE_CLOUD"]
+ if not value_allowed_none_or_none_sentinel(infrastructure_type, allowed_values):
+ infrastructure_type = 'UNKNOWN_ENUM_VALUE'
+ self._infrastructure_type = infrastructure_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/data_safe/models/installed_database_details.py b/src/oci/data_safe/models/installed_database_details.py
new file mode 100644
index 0000000000..489db6bf65
--- /dev/null
+++ b/src/oci/data_safe/models/installed_database_details.py
@@ -0,0 +1,181 @@
+# coding: utf-8
+# Copyright (c) 2016, 2021, Oracle and/or its affiliates. All rights reserved.
+# This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+
+from .database_details import DatabaseDetails
+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 InstalledDatabaseDetails(DatabaseDetails):
+ """
+ The details of the database running on-premises or on a compute instance.
+ """
+
+ def __init__(self, **kwargs):
+ """
+ Initializes a new InstalledDatabaseDetails object with values from keyword arguments. The default value of the :py:attr:`~oci.data_safe.models.InstalledDatabaseDetails.database_type` attribute
+ of this class is ``INSTALLED_DATABASE`` and it should not be changed.
+ The following keyword arguments are supported (corresponding to the getters/setters of this class):
+
+ :param database_type:
+ The value to assign to the database_type property of this InstalledDatabaseDetails.
+ Allowed values for this property are: "DATABASE_CLOUD_SERVICE", "AUTONOMOUS_DATABASE", "INSTALLED_DATABASE"
+ :type database_type: str
+
+ :param infrastructure_type:
+ The value to assign to the infrastructure_type property of this InstalledDatabaseDetails.
+ Allowed values for this property are: "ORACLE_CLOUD", "CLOUD_AT_CUSTOMER", "ON_PREMISES", "NON_ORACLE_CLOUD"
+ :type infrastructure_type: str
+
+ :param instance_id:
+ The value to assign to the instance_id property of this InstalledDatabaseDetails.
+ :type instance_id: str
+
+ :param ip_addresses:
+ The value to assign to the ip_addresses property of this InstalledDatabaseDetails.
+ :type ip_addresses: list[str]
+
+ :param listener_port:
+ The value to assign to the listener_port property of this InstalledDatabaseDetails.
+ :type listener_port: int
+
+ :param service_name:
+ The value to assign to the service_name property of this InstalledDatabaseDetails.
+ :type service_name: str
+
+ """
+ self.swagger_types = {
+ 'database_type': 'str',
+ 'infrastructure_type': 'str',
+ 'instance_id': 'str',
+ 'ip_addresses': 'list[str]',
+ 'listener_port': 'int',
+ 'service_name': 'str'
+ }
+
+ self.attribute_map = {
+ 'database_type': 'databaseType',
+ 'infrastructure_type': 'infrastructureType',
+ 'instance_id': 'instanceId',
+ 'ip_addresses': 'ipAddresses',
+ 'listener_port': 'listenerPort',
+ 'service_name': 'serviceName'
+ }
+
+ self._database_type = None
+ self._infrastructure_type = None
+ self._instance_id = None
+ self._ip_addresses = None
+ self._listener_port = None
+ self._service_name = None
+ self._database_type = 'INSTALLED_DATABASE'
+
+ @property
+ def instance_id(self):
+ """
+ Gets the instance_id of this InstalledDatabaseDetails.
+ The OCID of the compute instance on which the database is running.
+
+
+ :return: The instance_id of this InstalledDatabaseDetails.
+ :rtype: str
+ """
+ return self._instance_id
+
+ @instance_id.setter
+ def instance_id(self, instance_id):
+ """
+ Sets the instance_id of this InstalledDatabaseDetails.
+ The OCID of the compute instance on which the database is running.
+
+
+ :param instance_id: The instance_id of this InstalledDatabaseDetails.
+ :type: str
+ """
+ self._instance_id = instance_id
+
+ @property
+ def ip_addresses(self):
+ """
+ Gets the ip_addresses of this InstalledDatabaseDetails.
+ A List of either the IP Addresses or FQDN names of the database hosts.
+
+
+ :return: The ip_addresses of this InstalledDatabaseDetails.
+ :rtype: list[str]
+ """
+ return self._ip_addresses
+
+ @ip_addresses.setter
+ def ip_addresses(self, ip_addresses):
+ """
+ Sets the ip_addresses of this InstalledDatabaseDetails.
+ A List of either the IP Addresses or FQDN names of the database hosts.
+
+
+ :param ip_addresses: The ip_addresses of this InstalledDatabaseDetails.
+ :type: list[str]
+ """
+ self._ip_addresses = ip_addresses
+
+ @property
+ def listener_port(self):
+ """
+ Gets the listener_port of this InstalledDatabaseDetails.
+ The port number of the database listener.
+
+
+ :return: The listener_port of this InstalledDatabaseDetails.
+ :rtype: int
+ """
+ return self._listener_port
+
+ @listener_port.setter
+ def listener_port(self, listener_port):
+ """
+ Sets the listener_port of this InstalledDatabaseDetails.
+ The port number of the database listener.
+
+
+ :param listener_port: The listener_port of this InstalledDatabaseDetails.
+ :type: int
+ """
+ self._listener_port = listener_port
+
+ @property
+ def service_name(self):
+ """
+ Gets the service_name of this InstalledDatabaseDetails.
+ The service name of the database registered as target database.
+
+
+ :return: The service_name of this InstalledDatabaseDetails.
+ :rtype: str
+ """
+ return self._service_name
+
+ @service_name.setter
+ def service_name(self, service_name):
+ """
+ Sets the service_name of this InstalledDatabaseDetails.
+ The service name of the database registered as target database.
+
+
+ :param service_name: The service_name of this InstalledDatabaseDetails.
+ :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/data_safe/models/on_prem_connector.py b/src/oci/data_safe/models/on_prem_connector.py
index 57295350c7..a9d15d97da 100644
--- a/src/oci/data_safe/models/on_prem_connector.py
+++ b/src/oci/data_safe/models/on_prem_connector.py
@@ -84,6 +84,10 @@ def __init__(self, **kwargs):
The value to assign to the defined_tags property of this OnPremConnector.
:type defined_tags: dict(str, dict(str, object))
+ :param system_tags:
+ The value to assign to the system_tags property of this OnPremConnector.
+ :type system_tags: dict(str, dict(str, object))
+
:param available_version:
The value to assign to the available_version property of this OnPremConnector.
:type available_version: str
@@ -103,6 +107,7 @@ def __init__(self, **kwargs):
'lifecycle_details': 'str',
'freeform_tags': 'dict(str, str)',
'defined_tags': 'dict(str, dict(str, object))',
+ 'system_tags': 'dict(str, dict(str, object))',
'available_version': 'str',
'created_version': 'str'
}
@@ -117,6 +122,7 @@ def __init__(self, **kwargs):
'lifecycle_details': 'lifecycleDetails',
'freeform_tags': 'freeformTags',
'defined_tags': 'definedTags',
+ 'system_tags': 'systemTags',
'available_version': 'availableVersion',
'created_version': 'createdVersion'
}
@@ -130,6 +136,7 @@ def __init__(self, **kwargs):
self._lifecycle_details = None
self._freeform_tags = None
self._defined_tags = None
+ self._system_tags = None
self._available_version = None
self._created_version = None
@@ -375,6 +382,32 @@ def defined_tags(self, defined_tags):
"""
self._defined_tags = defined_tags
+ @property
+ def system_tags(self):
+ """
+ Gets the system_tags of this OnPremConnector.
+ System tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags.
+ Example: `{\"orcl-cloud\": {\"free-tier-retained\": \"true\"}}`
+
+
+ :return: The system_tags of this OnPremConnector.
+ :rtype: dict(str, dict(str, object))
+ """
+ return self._system_tags
+
+ @system_tags.setter
+ def system_tags(self, system_tags):
+ """
+ Sets the system_tags of this OnPremConnector.
+ System tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags.
+ Example: `{\"orcl-cloud\": {\"free-tier-retained\": \"true\"}}`
+
+
+ :param system_tags: The system_tags of this OnPremConnector.
+ :type: dict(str, dict(str, object))
+ """
+ self._system_tags = system_tags
+
@property
def available_version(self):
"""
diff --git a/src/oci/data_safe/models/on_prem_connector_summary.py b/src/oci/data_safe/models/on_prem_connector_summary.py
index c97c7e0230..d7fda559ec 100644
--- a/src/oci/data_safe/models/on_prem_connector_summary.py
+++ b/src/oci/data_safe/models/on_prem_connector_summary.py
@@ -84,6 +84,10 @@ def __init__(self, **kwargs):
The value to assign to the defined_tags property of this OnPremConnectorSummary.
:type defined_tags: dict(str, dict(str, object))
+ :param system_tags:
+ The value to assign to the system_tags property of this OnPremConnectorSummary.
+ :type system_tags: dict(str, dict(str, object))
+
:param created_version:
The value to assign to the created_version property of this OnPremConnectorSummary.
:type created_version: str
@@ -99,6 +103,7 @@ def __init__(self, **kwargs):
'lifecycle_details': 'str',
'freeform_tags': 'dict(str, str)',
'defined_tags': 'dict(str, dict(str, object))',
+ 'system_tags': 'dict(str, dict(str, object))',
'created_version': 'str'
}
@@ -112,6 +117,7 @@ def __init__(self, **kwargs):
'lifecycle_details': 'lifecycleDetails',
'freeform_tags': 'freeformTags',
'defined_tags': 'definedTags',
+ 'system_tags': 'systemTags',
'created_version': 'createdVersion'
}
@@ -124,6 +130,7 @@ def __init__(self, **kwargs):
self._lifecycle_details = None
self._freeform_tags = None
self._defined_tags = None
+ self._system_tags = None
self._created_version = None
@property
@@ -368,6 +375,32 @@ def defined_tags(self, defined_tags):
"""
self._defined_tags = defined_tags
+ @property
+ def system_tags(self):
+ """
+ Gets the system_tags of this OnPremConnectorSummary.
+ System tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags.
+ Example: `{\"orcl-cloud\": {\"free-tier-retained\": \"true\"}}`
+
+
+ :return: The system_tags of this OnPremConnectorSummary.
+ :rtype: dict(str, dict(str, object))
+ """
+ return self._system_tags
+
+ @system_tags.setter
+ def system_tags(self, system_tags):
+ """
+ Sets the system_tags of this OnPremConnectorSummary.
+ System tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags.
+ Example: `{\"orcl-cloud\": {\"free-tier-retained\": \"true\"}}`
+
+
+ :param system_tags: The system_tags of this OnPremConnectorSummary.
+ :type: dict(str, dict(str, object))
+ """
+ self._system_tags = system_tags
+
@property
def created_version(self):
"""
diff --git a/src/oci/data_safe/models/on_premise_connector.py b/src/oci/data_safe/models/on_premise_connector.py
new file mode 100644
index 0000000000..5b981657c8
--- /dev/null
+++ b/src/oci/data_safe/models/on_premise_connector.py
@@ -0,0 +1,80 @@
+# coding: utf-8
+# Copyright (c) 2016, 2021, Oracle and/or its affiliates. All rights reserved.
+# This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+
+from .connection_option import ConnectionOption
+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 OnPremiseConnector(ConnectionOption):
+ """
+ The details required to establish a connection to the database using an on-premises connector.
+ """
+
+ def __init__(self, **kwargs):
+ """
+ Initializes a new OnPremiseConnector object with values from keyword arguments. The default value of the :py:attr:`~oci.data_safe.models.OnPremiseConnector.connection_type` attribute
+ of this class is ``ONPREM_CONNECTOR`` and it should not be changed.
+ The following keyword arguments are supported (corresponding to the getters/setters of this class):
+
+ :param connection_type:
+ The value to assign to the connection_type property of this OnPremiseConnector.
+ Allowed values for this property are: "PRIVATE_ENDPOINT", "ONPREM_CONNECTOR"
+ :type connection_type: str
+
+ :param on_prem_connector_id:
+ The value to assign to the on_prem_connector_id property of this OnPremiseConnector.
+ :type on_prem_connector_id: str
+
+ """
+ self.swagger_types = {
+ 'connection_type': 'str',
+ 'on_prem_connector_id': 'str'
+ }
+
+ self.attribute_map = {
+ 'connection_type': 'connectionType',
+ 'on_prem_connector_id': 'onPremConnectorId'
+ }
+
+ self._connection_type = None
+ self._on_prem_connector_id = None
+ self._connection_type = 'ONPREM_CONNECTOR'
+
+ @property
+ def on_prem_connector_id(self):
+ """
+ Gets the on_prem_connector_id of this OnPremiseConnector.
+ The OCID of the on-premises connector.
+
+
+ :return: The on_prem_connector_id of this OnPremiseConnector.
+ :rtype: str
+ """
+ return self._on_prem_connector_id
+
+ @on_prem_connector_id.setter
+ def on_prem_connector_id(self, on_prem_connector_id):
+ """
+ Sets the on_prem_connector_id of this OnPremiseConnector.
+ The OCID of the on-premises connector.
+
+
+ :param on_prem_connector_id: The on_prem_connector_id of this OnPremiseConnector.
+ :type: str
+ """
+ self._on_prem_connector_id = on_prem_connector_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/data_safe/models/private_endpoint.py b/src/oci/data_safe/models/private_endpoint.py
new file mode 100644
index 0000000000..f5e6a375fb
--- /dev/null
+++ b/src/oci/data_safe/models/private_endpoint.py
@@ -0,0 +1,80 @@
+# coding: utf-8
+# Copyright (c) 2016, 2021, Oracle and/or its affiliates. All rights reserved.
+# This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+
+from .connection_option import ConnectionOption
+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 PrivateEndpoint(ConnectionOption):
+ """
+ The details required to establish a connection to the database using a private endpoint.
+ """
+
+ def __init__(self, **kwargs):
+ """
+ Initializes a new PrivateEndpoint object with values from keyword arguments. The default value of the :py:attr:`~oci.data_safe.models.PrivateEndpoint.connection_type` attribute
+ of this class is ``PRIVATE_ENDPOINT`` and it should not be changed.
+ The following keyword arguments are supported (corresponding to the getters/setters of this class):
+
+ :param connection_type:
+ The value to assign to the connection_type property of this PrivateEndpoint.
+ Allowed values for this property are: "PRIVATE_ENDPOINT", "ONPREM_CONNECTOR"
+ :type connection_type: str
+
+ :param datasafe_private_endpoint_id:
+ The value to assign to the datasafe_private_endpoint_id property of this PrivateEndpoint.
+ :type datasafe_private_endpoint_id: str
+
+ """
+ self.swagger_types = {
+ 'connection_type': 'str',
+ 'datasafe_private_endpoint_id': 'str'
+ }
+
+ self.attribute_map = {
+ 'connection_type': 'connectionType',
+ 'datasafe_private_endpoint_id': 'datasafePrivateEndpointId'
+ }
+
+ self._connection_type = None
+ self._datasafe_private_endpoint_id = None
+ self._connection_type = 'PRIVATE_ENDPOINT'
+
+ @property
+ def datasafe_private_endpoint_id(self):
+ """
+ Gets the datasafe_private_endpoint_id of this PrivateEndpoint.
+ The OCID of the Data Safe private endpoint.
+
+
+ :return: The datasafe_private_endpoint_id of this PrivateEndpoint.
+ :rtype: str
+ """
+ return self._datasafe_private_endpoint_id
+
+ @datasafe_private_endpoint_id.setter
+ def datasafe_private_endpoint_id(self, datasafe_private_endpoint_id):
+ """
+ Sets the datasafe_private_endpoint_id of this PrivateEndpoint.
+ The OCID of the Data Safe private endpoint.
+
+
+ :param datasafe_private_endpoint_id: The datasafe_private_endpoint_id of this PrivateEndpoint.
+ :type: str
+ """
+ self._datasafe_private_endpoint_id = datasafe_private_endpoint_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/data_safe/models/target_database.py b/src/oci/data_safe/models/target_database.py
new file mode 100644
index 0000000000..9b94f01b66
--- /dev/null
+++ b/src/oci/data_safe/models/target_database.py
@@ -0,0 +1,546 @@
+# coding: utf-8
+# Copyright (c) 2016, 2021, Oracle and/or its affiliates. All rights reserved.
+# This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+
+
+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 TargetDatabase(object):
+ """
+ The details of the Data Safe target database.
+ """
+
+ #: A constant which can be used with the lifecycle_state property of a TargetDatabase.
+ #: This constant has a value of "CREATING"
+ LIFECYCLE_STATE_CREATING = "CREATING"
+
+ #: A constant which can be used with the lifecycle_state property of a TargetDatabase.
+ #: This constant has a value of "UPDATING"
+ LIFECYCLE_STATE_UPDATING = "UPDATING"
+
+ #: A constant which can be used with the lifecycle_state property of a TargetDatabase.
+ #: This constant has a value of "ACTIVE"
+ LIFECYCLE_STATE_ACTIVE = "ACTIVE"
+
+ #: A constant which can be used with the lifecycle_state property of a TargetDatabase.
+ #: This constant has a value of "INACTIVE"
+ LIFECYCLE_STATE_INACTIVE = "INACTIVE"
+
+ #: A constant which can be used with the lifecycle_state property of a TargetDatabase.
+ #: This constant has a value of "DELETING"
+ LIFECYCLE_STATE_DELETING = "DELETING"
+
+ #: A constant which can be used with the lifecycle_state property of a TargetDatabase.
+ #: This constant has a value of "DELETED"
+ LIFECYCLE_STATE_DELETED = "DELETED"
+
+ #: A constant which can be used with the lifecycle_state property of a TargetDatabase.
+ #: This constant has a value of "NEEDS_ATTENTION"
+ LIFECYCLE_STATE_NEEDS_ATTENTION = "NEEDS_ATTENTION"
+
+ #: A constant which can be used with the lifecycle_state property of a TargetDatabase.
+ #: This constant has a value of "FAILED"
+ LIFECYCLE_STATE_FAILED = "FAILED"
+
+ def __init__(self, **kwargs):
+ """
+ Initializes a new TargetDatabase 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 TargetDatabase.
+ :type compartment_id: str
+
+ :param id:
+ The value to assign to the id property of this TargetDatabase.
+ :type id: str
+
+ :param display_name:
+ The value to assign to the display_name property of this TargetDatabase.
+ :type display_name: str
+
+ :param description:
+ The value to assign to the description property of this TargetDatabase.
+ :type description: str
+
+ :param database_details:
+ The value to assign to the database_details property of this TargetDatabase.
+ :type database_details: oci.data_safe.models.DatabaseDetails
+
+ :param credentials:
+ The value to assign to the credentials property of this TargetDatabase.
+ :type credentials: oci.data_safe.models.Credentials
+
+ :param tls_config:
+ The value to assign to the tls_config property of this TargetDatabase.
+ :type tls_config: oci.data_safe.models.TlsConfig
+
+ :param connection_option:
+ The value to assign to the connection_option property of this TargetDatabase.
+ :type connection_option: oci.data_safe.models.ConnectionOption
+
+ :param lifecycle_state:
+ The value to assign to the lifecycle_state property of this TargetDatabase.
+ Allowed values for this property are: "CREATING", "UPDATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED", "NEEDS_ATTENTION", "FAILED", 'UNKNOWN_ENUM_VALUE'.
+ Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
+ :type lifecycle_state: str
+
+ :param lifecycle_details:
+ The value to assign to the lifecycle_details property of this TargetDatabase.
+ :type lifecycle_details: str
+
+ :param time_created:
+ The value to assign to the time_created property of this TargetDatabase.
+ :type time_created: datetime
+
+ :param time_updated:
+ The value to assign to the time_updated property of this TargetDatabase.
+ :type time_updated: datetime
+
+ :param freeform_tags:
+ The value to assign to the freeform_tags property of this TargetDatabase.
+ :type freeform_tags: dict(str, str)
+
+ :param defined_tags:
+ The value to assign to the defined_tags property of this TargetDatabase.
+ :type defined_tags: dict(str, dict(str, object))
+
+ :param system_tags:
+ The value to assign to the system_tags property of this TargetDatabase.
+ :type system_tags: dict(str, dict(str, object))
+
+ """
+ self.swagger_types = {
+ 'compartment_id': 'str',
+ 'id': 'str',
+ 'display_name': 'str',
+ 'description': 'str',
+ 'database_details': 'DatabaseDetails',
+ 'credentials': 'Credentials',
+ 'tls_config': 'TlsConfig',
+ 'connection_option': 'ConnectionOption',
+ 'lifecycle_state': 'str',
+ 'lifecycle_details': 'str',
+ 'time_created': 'datetime',
+ 'time_updated': 'datetime',
+ 'freeform_tags': 'dict(str, str)',
+ 'defined_tags': 'dict(str, dict(str, object))',
+ 'system_tags': 'dict(str, dict(str, object))'
+ }
+
+ self.attribute_map = {
+ 'compartment_id': 'compartmentId',
+ 'id': 'id',
+ 'display_name': 'displayName',
+ 'description': 'description',
+ 'database_details': 'databaseDetails',
+ 'credentials': 'credentials',
+ 'tls_config': 'tlsConfig',
+ 'connection_option': 'connectionOption',
+ 'lifecycle_state': 'lifecycleState',
+ 'lifecycle_details': 'lifecycleDetails',
+ 'time_created': 'timeCreated',
+ 'time_updated': 'timeUpdated',
+ 'freeform_tags': 'freeformTags',
+ 'defined_tags': 'definedTags',
+ 'system_tags': 'systemTags'
+ }
+
+ self._compartment_id = None
+ self._id = None
+ self._display_name = None
+ self._description = None
+ self._database_details = None
+ self._credentials = None
+ self._tls_config = None
+ self._connection_option = None
+ self._lifecycle_state = None
+ self._lifecycle_details = None
+ self._time_created = None
+ self._time_updated = None
+ self._freeform_tags = None
+ self._defined_tags = None
+ self._system_tags = None
+
+ @property
+ def compartment_id(self):
+ """
+ **[Required]** Gets the compartment_id of this TargetDatabase.
+ The OCID of the compartment which contains the Data Safe target database.
+
+
+ :return: The compartment_id of this TargetDatabase.
+ :rtype: str
+ """
+ return self._compartment_id
+
+ @compartment_id.setter
+ def compartment_id(self, compartment_id):
+ """
+ Sets the compartment_id of this TargetDatabase.
+ The OCID of the compartment which contains the Data Safe target database.
+
+
+ :param compartment_id: The compartment_id of this TargetDatabase.
+ :type: str
+ """
+ self._compartment_id = compartment_id
+
+ @property
+ def id(self):
+ """
+ **[Required]** Gets the id of this TargetDatabase.
+ The OCID of the Data Safe target database.
+
+
+ :return: The id of this TargetDatabase.
+ :rtype: str
+ """
+ return self._id
+
+ @id.setter
+ def id(self, id):
+ """
+ Sets the id of this TargetDatabase.
+ The OCID of the Data Safe target database.
+
+
+ :param id: The id of this TargetDatabase.
+ :type: str
+ """
+ self._id = id
+
+ @property
+ def display_name(self):
+ """
+ **[Required]** Gets the display_name of this TargetDatabase.
+ The display name of the target database in Data Safe.
+
+
+ :return: The display_name of this TargetDatabase.
+ :rtype: str
+ """
+ return self._display_name
+
+ @display_name.setter
+ def display_name(self, display_name):
+ """
+ Sets the display_name of this TargetDatabase.
+ The display name of the target database in Data Safe.
+
+
+ :param display_name: The display_name of this TargetDatabase.
+ :type: str
+ """
+ self._display_name = display_name
+
+ @property
+ def description(self):
+ """
+ Gets the description of this TargetDatabase.
+ The description of the target database in Data Safe.
+
+
+ :return: The description of this TargetDatabase.
+ :rtype: str
+ """
+ return self._description
+
+ @description.setter
+ def description(self, description):
+ """
+ Sets the description of this TargetDatabase.
+ The description of the target database in Data Safe.
+
+
+ :param description: The description of this TargetDatabase.
+ :type: str
+ """
+ self._description = description
+
+ @property
+ def database_details(self):
+ """
+ **[Required]** Gets the database_details of this TargetDatabase.
+
+ :return: The database_details of this TargetDatabase.
+ :rtype: oci.data_safe.models.DatabaseDetails
+ """
+ return self._database_details
+
+ @database_details.setter
+ def database_details(self, database_details):
+ """
+ Sets the database_details of this TargetDatabase.
+
+ :param database_details: The database_details of this TargetDatabase.
+ :type: oci.data_safe.models.DatabaseDetails
+ """
+ self._database_details = database_details
+
+ @property
+ def credentials(self):
+ """
+ Gets the credentials of this TargetDatabase.
+
+ :return: The credentials of this TargetDatabase.
+ :rtype: oci.data_safe.models.Credentials
+ """
+ return self._credentials
+
+ @credentials.setter
+ def credentials(self, credentials):
+ """
+ Sets the credentials of this TargetDatabase.
+
+ :param credentials: The credentials of this TargetDatabase.
+ :type: oci.data_safe.models.Credentials
+ """
+ self._credentials = credentials
+
+ @property
+ def tls_config(self):
+ """
+ Gets the tls_config of this TargetDatabase.
+
+ :return: The tls_config of this TargetDatabase.
+ :rtype: oci.data_safe.models.TlsConfig
+ """
+ return self._tls_config
+
+ @tls_config.setter
+ def tls_config(self, tls_config):
+ """
+ Sets the tls_config of this TargetDatabase.
+
+ :param tls_config: The tls_config of this TargetDatabase.
+ :type: oci.data_safe.models.TlsConfig
+ """
+ self._tls_config = tls_config
+
+ @property
+ def connection_option(self):
+ """
+ Gets the connection_option of this TargetDatabase.
+
+ :return: The connection_option of this TargetDatabase.
+ :rtype: oci.data_safe.models.ConnectionOption
+ """
+ return self._connection_option
+
+ @connection_option.setter
+ def connection_option(self, connection_option):
+ """
+ Sets the connection_option of this TargetDatabase.
+
+ :param connection_option: The connection_option of this TargetDatabase.
+ :type: oci.data_safe.models.ConnectionOption
+ """
+ self._connection_option = connection_option
+
+ @property
+ def lifecycle_state(self):
+ """
+ **[Required]** Gets the lifecycle_state of this TargetDatabase.
+ The current state of the target database in Data Safe.
+
+ Allowed values for this property are: "CREATING", "UPDATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED", "NEEDS_ATTENTION", "FAILED", 'UNKNOWN_ENUM_VALUE'.
+ Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
+
+
+ :return: The lifecycle_state of this TargetDatabase.
+ :rtype: str
+ """
+ return self._lifecycle_state
+
+ @lifecycle_state.setter
+ def lifecycle_state(self, lifecycle_state):
+ """
+ Sets the lifecycle_state of this TargetDatabase.
+ The current state of the target database in Data Safe.
+
+
+ :param lifecycle_state: The lifecycle_state of this TargetDatabase.
+ :type: str
+ """
+ allowed_values = ["CREATING", "UPDATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED", "NEEDS_ATTENTION", "FAILED"]
+ if not value_allowed_none_or_none_sentinel(lifecycle_state, allowed_values):
+ lifecycle_state = 'UNKNOWN_ENUM_VALUE'
+ self._lifecycle_state = lifecycle_state
+
+ @property
+ def lifecycle_details(self):
+ """
+ Gets the lifecycle_details of this TargetDatabase.
+ Details about the current state of the target database in Data Safe.
+
+
+ :return: The lifecycle_details of this TargetDatabase.
+ :rtype: str
+ """
+ return self._lifecycle_details
+
+ @lifecycle_details.setter
+ def lifecycle_details(self, lifecycle_details):
+ """
+ Sets the lifecycle_details of this TargetDatabase.
+ Details about the current state of the target database in Data Safe.
+
+
+ :param lifecycle_details: The lifecycle_details of this TargetDatabase.
+ :type: str
+ """
+ self._lifecycle_details = lifecycle_details
+
+ @property
+ def time_created(self):
+ """
+ **[Required]** Gets the time_created of this TargetDatabase.
+ The date and time of target database registration and creation in Data Safe.
+
+
+ :return: The time_created of this TargetDatabase.
+ :rtype: datetime
+ """
+ return self._time_created
+
+ @time_created.setter
+ def time_created(self, time_created):
+ """
+ Sets the time_created of this TargetDatabase.
+ The date and time of target database registration and creation in Data Safe.
+
+
+ :param time_created: The time_created of this TargetDatabase.
+ :type: datetime
+ """
+ self._time_created = time_created
+
+ @property
+ def time_updated(self):
+ """
+ Gets the time_updated of this TargetDatabase.
+ The date and time of the target database update in Data Safe.
+
+
+ :return: The time_updated of this TargetDatabase.
+ :rtype: datetime
+ """
+ return self._time_updated
+
+ @time_updated.setter
+ def time_updated(self, time_updated):
+ """
+ Sets the time_updated of this TargetDatabase.
+ The date and time of the target database update in Data Safe.
+
+
+ :param time_updated: The time_updated of this TargetDatabase.
+ :type: datetime
+ """
+ self._time_updated = time_updated
+
+ @property
+ def freeform_tags(self):
+ """
+ Gets the freeform_tags of this TargetDatabase.
+ 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.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm
+
+
+ :return: The freeform_tags of this TargetDatabase.
+ :rtype: dict(str, str)
+ """
+ return self._freeform_tags
+
+ @freeform_tags.setter
+ def freeform_tags(self, freeform_tags):
+ """
+ Sets the freeform_tags of this TargetDatabase.
+ 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.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm
+
+
+ :param freeform_tags: The freeform_tags of this TargetDatabase.
+ :type: dict(str, str)
+ """
+ self._freeform_tags = freeform_tags
+
+ @property
+ def defined_tags(self):
+ """
+ Gets the defined_tags of this TargetDatabase.
+ 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.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm
+
+
+ :return: The defined_tags of this TargetDatabase.
+ :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 TargetDatabase.
+ 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.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm
+
+
+ :param defined_tags: The defined_tags of this TargetDatabase.
+ :type: dict(str, dict(str, object))
+ """
+ self._defined_tags = defined_tags
+
+ @property
+ def system_tags(self):
+ """
+ Gets the system_tags of this TargetDatabase.
+ System tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags.
+ Example: `{\"orcl-cloud\": {\"free-tier-retained\": \"true\"}}`
+
+
+ :return: The system_tags of this TargetDatabase.
+ :rtype: dict(str, dict(str, object))
+ """
+ return self._system_tags
+
+ @system_tags.setter
+ def system_tags(self, system_tags):
+ """
+ Sets the system_tags of this TargetDatabase.
+ System tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags.
+ Example: `{\"orcl-cloud\": {\"free-tier-retained\": \"true\"}}`
+
+
+ :param system_tags: The system_tags of this TargetDatabase.
+ :type: dict(str, dict(str, object))
+ """
+ self._system_tags = system_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/data_safe/models/target_database_summary.py b/src/oci/data_safe/models/target_database_summary.py
new file mode 100644
index 0000000000..e5ef933b22
--- /dev/null
+++ b/src/oci/data_safe/models/target_database_summary.py
@@ -0,0 +1,480 @@
+# coding: utf-8
+# Copyright (c) 2016, 2021, Oracle and/or its affiliates. All rights reserved.
+# This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+
+
+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 TargetDatabaseSummary(object):
+ """
+ Summary of a Data Safe target database.
+ """
+
+ #: A constant which can be used with the infrastructure_type property of a TargetDatabaseSummary.
+ #: This constant has a value of "ORACLE_CLOUD"
+ INFRASTRUCTURE_TYPE_ORACLE_CLOUD = "ORACLE_CLOUD"
+
+ #: A constant which can be used with the infrastructure_type property of a TargetDatabaseSummary.
+ #: This constant has a value of "CLOUD_AT_CUSTOMER"
+ INFRASTRUCTURE_TYPE_CLOUD_AT_CUSTOMER = "CLOUD_AT_CUSTOMER"
+
+ #: A constant which can be used with the infrastructure_type property of a TargetDatabaseSummary.
+ #: This constant has a value of "ON_PREMISES"
+ INFRASTRUCTURE_TYPE_ON_PREMISES = "ON_PREMISES"
+
+ #: A constant which can be used with the infrastructure_type property of a TargetDatabaseSummary.
+ #: This constant has a value of "NON_ORACLE_CLOUD"
+ INFRASTRUCTURE_TYPE_NON_ORACLE_CLOUD = "NON_ORACLE_CLOUD"
+
+ #: A constant which can be used with the database_type property of a TargetDatabaseSummary.
+ #: This constant has a value of "DATABASE_CLOUD_SERVICE"
+ DATABASE_TYPE_DATABASE_CLOUD_SERVICE = "DATABASE_CLOUD_SERVICE"
+
+ #: A constant which can be used with the database_type property of a TargetDatabaseSummary.
+ #: This constant has a value of "AUTONOMOUS_DATABASE"
+ DATABASE_TYPE_AUTONOMOUS_DATABASE = "AUTONOMOUS_DATABASE"
+
+ #: A constant which can be used with the database_type property of a TargetDatabaseSummary.
+ #: This constant has a value of "INSTALLED_DATABASE"
+ DATABASE_TYPE_INSTALLED_DATABASE = "INSTALLED_DATABASE"
+
+ #: A constant which can be used with the lifecycle_state property of a TargetDatabaseSummary.
+ #: This constant has a value of "CREATING"
+ LIFECYCLE_STATE_CREATING = "CREATING"
+
+ #: A constant which can be used with the lifecycle_state property of a TargetDatabaseSummary.
+ #: This constant has a value of "UPDATING"
+ LIFECYCLE_STATE_UPDATING = "UPDATING"
+
+ #: A constant which can be used with the lifecycle_state property of a TargetDatabaseSummary.
+ #: This constant has a value of "ACTIVE"
+ LIFECYCLE_STATE_ACTIVE = "ACTIVE"
+
+ #: A constant which can be used with the lifecycle_state property of a TargetDatabaseSummary.
+ #: This constant has a value of "INACTIVE"
+ LIFECYCLE_STATE_INACTIVE = "INACTIVE"
+
+ #: A constant which can be used with the lifecycle_state property of a TargetDatabaseSummary.
+ #: This constant has a value of "DELETING"
+ LIFECYCLE_STATE_DELETING = "DELETING"
+
+ #: A constant which can be used with the lifecycle_state property of a TargetDatabaseSummary.
+ #: This constant has a value of "DELETED"
+ LIFECYCLE_STATE_DELETED = "DELETED"
+
+ #: A constant which can be used with the lifecycle_state property of a TargetDatabaseSummary.
+ #: This constant has a value of "NEEDS_ATTENTION"
+ LIFECYCLE_STATE_NEEDS_ATTENTION = "NEEDS_ATTENTION"
+
+ #: A constant which can be used with the lifecycle_state property of a TargetDatabaseSummary.
+ #: This constant has a value of "FAILED"
+ LIFECYCLE_STATE_FAILED = "FAILED"
+
+ def __init__(self, **kwargs):
+ """
+ Initializes a new TargetDatabaseSummary 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 TargetDatabaseSummary.
+ :type compartment_id: str
+
+ :param id:
+ The value to assign to the id property of this TargetDatabaseSummary.
+ :type id: str
+
+ :param display_name:
+ The value to assign to the display_name property of this TargetDatabaseSummary.
+ :type display_name: str
+
+ :param description:
+ The value to assign to the description property of this TargetDatabaseSummary.
+ :type description: str
+
+ :param infrastructure_type:
+ The value to assign to the infrastructure_type property of this TargetDatabaseSummary.
+ Allowed values for this property are: "ORACLE_CLOUD", "CLOUD_AT_CUSTOMER", "ON_PREMISES", "NON_ORACLE_CLOUD", 'UNKNOWN_ENUM_VALUE'.
+ Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
+ :type infrastructure_type: str
+
+ :param database_type:
+ The value to assign to the database_type property of this TargetDatabaseSummary.
+ Allowed values for this property are: "DATABASE_CLOUD_SERVICE", "AUTONOMOUS_DATABASE", "INSTALLED_DATABASE", 'UNKNOWN_ENUM_VALUE'.
+ Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
+ :type database_type: str
+
+ :param lifecycle_state:
+ The value to assign to the lifecycle_state property of this TargetDatabaseSummary.
+ Allowed values for this property are: "CREATING", "UPDATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED", "NEEDS_ATTENTION", "FAILED", 'UNKNOWN_ENUM_VALUE'.
+ Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
+ :type lifecycle_state: str
+
+ :param lifecycle_details:
+ The value to assign to the lifecycle_details property of this TargetDatabaseSummary.
+ :type lifecycle_details: str
+
+ :param time_created:
+ The value to assign to the time_created property of this TargetDatabaseSummary.
+ :type time_created: datetime
+
+ :param freeform_tags:
+ The value to assign to the freeform_tags property of this TargetDatabaseSummary.
+ :type freeform_tags: dict(str, str)
+
+ :param defined_tags:
+ The value to assign to the defined_tags property of this TargetDatabaseSummary.
+ :type defined_tags: dict(str, dict(str, object))
+
+ """
+ self.swagger_types = {
+ 'compartment_id': 'str',
+ 'id': 'str',
+ 'display_name': 'str',
+ 'description': 'str',
+ 'infrastructure_type': 'str',
+ 'database_type': 'str',
+ 'lifecycle_state': 'str',
+ 'lifecycle_details': 'str',
+ 'time_created': 'datetime',
+ 'freeform_tags': 'dict(str, str)',
+ 'defined_tags': 'dict(str, dict(str, object))'
+ }
+
+ self.attribute_map = {
+ 'compartment_id': 'compartmentId',
+ 'id': 'id',
+ 'display_name': 'displayName',
+ 'description': 'description',
+ 'infrastructure_type': 'infrastructureType',
+ 'database_type': 'databaseType',
+ 'lifecycle_state': 'lifecycleState',
+ 'lifecycle_details': 'lifecycleDetails',
+ 'time_created': 'timeCreated',
+ 'freeform_tags': 'freeformTags',
+ 'defined_tags': 'definedTags'
+ }
+
+ self._compartment_id = None
+ self._id = None
+ self._display_name = None
+ self._description = None
+ self._infrastructure_type = None
+ self._database_type = None
+ self._lifecycle_state = None
+ self._lifecycle_details = None
+ self._time_created = None
+ self._freeform_tags = None
+ self._defined_tags = None
+
+ @property
+ def compartment_id(self):
+ """
+ **[Required]** Gets the compartment_id of this TargetDatabaseSummary.
+ The OCID of the compartment that contains the Data Safe target database.
+
+
+ :return: The compartment_id of this TargetDatabaseSummary.
+ :rtype: str
+ """
+ return self._compartment_id
+
+ @compartment_id.setter
+ def compartment_id(self, compartment_id):
+ """
+ Sets the compartment_id of this TargetDatabaseSummary.
+ The OCID of the compartment that contains the Data Safe target database.
+
+
+ :param compartment_id: The compartment_id of this TargetDatabaseSummary.
+ :type: str
+ """
+ self._compartment_id = compartment_id
+
+ @property
+ def id(self):
+ """
+ **[Required]** Gets the id of this TargetDatabaseSummary.
+ The OCID of the Data Safe target database.
+
+
+ :return: The id of this TargetDatabaseSummary.
+ :rtype: str
+ """
+ return self._id
+
+ @id.setter
+ def id(self, id):
+ """
+ Sets the id of this TargetDatabaseSummary.
+ The OCID of the Data Safe target database.
+
+
+ :param id: The id of this TargetDatabaseSummary.
+ :type: str
+ """
+ self._id = id
+
+ @property
+ def display_name(self):
+ """
+ **[Required]** Gets the display_name of this TargetDatabaseSummary.
+ The display name of the target database in Data Safe.
+
+
+ :return: The display_name of this TargetDatabaseSummary.
+ :rtype: str
+ """
+ return self._display_name
+
+ @display_name.setter
+ def display_name(self, display_name):
+ """
+ Sets the display_name of this TargetDatabaseSummary.
+ The display name of the target database in Data Safe.
+
+
+ :param display_name: The display_name of this TargetDatabaseSummary.
+ :type: str
+ """
+ self._display_name = display_name
+
+ @property
+ def description(self):
+ """
+ Gets the description of this TargetDatabaseSummary.
+ The description of the target database in Data Safe.
+
+
+ :return: The description of this TargetDatabaseSummary.
+ :rtype: str
+ """
+ return self._description
+
+ @description.setter
+ def description(self, description):
+ """
+ Sets the description of this TargetDatabaseSummary.
+ The description of the target database in Data Safe.
+
+
+ :param description: The description of this TargetDatabaseSummary.
+ :type: str
+ """
+ self._description = description
+
+ @property
+ def infrastructure_type(self):
+ """
+ **[Required]** Gets the infrastructure_type of this TargetDatabaseSummary.
+ The infrastructure type the database is running on.
+
+ Allowed values for this property are: "ORACLE_CLOUD", "CLOUD_AT_CUSTOMER", "ON_PREMISES", "NON_ORACLE_CLOUD", 'UNKNOWN_ENUM_VALUE'.
+ Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
+
+
+ :return: The infrastructure_type of this TargetDatabaseSummary.
+ :rtype: str
+ """
+ return self._infrastructure_type
+
+ @infrastructure_type.setter
+ def infrastructure_type(self, infrastructure_type):
+ """
+ Sets the infrastructure_type of this TargetDatabaseSummary.
+ The infrastructure type the database is running on.
+
+
+ :param infrastructure_type: The infrastructure_type of this TargetDatabaseSummary.
+ :type: str
+ """
+ allowed_values = ["ORACLE_CLOUD", "CLOUD_AT_CUSTOMER", "ON_PREMISES", "NON_ORACLE_CLOUD"]
+ if not value_allowed_none_or_none_sentinel(infrastructure_type, allowed_values):
+ infrastructure_type = 'UNKNOWN_ENUM_VALUE'
+ self._infrastructure_type = infrastructure_type
+
+ @property
+ def database_type(self):
+ """
+ **[Required]** Gets the database_type of this TargetDatabaseSummary.
+ The database type.
+
+ Allowed values for this property are: "DATABASE_CLOUD_SERVICE", "AUTONOMOUS_DATABASE", "INSTALLED_DATABASE", 'UNKNOWN_ENUM_VALUE'.
+ Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
+
+
+ :return: The database_type of this TargetDatabaseSummary.
+ :rtype: str
+ """
+ return self._database_type
+
+ @database_type.setter
+ def database_type(self, database_type):
+ """
+ Sets the database_type of this TargetDatabaseSummary.
+ The database type.
+
+
+ :param database_type: The database_type of this TargetDatabaseSummary.
+ :type: str
+ """
+ allowed_values = ["DATABASE_CLOUD_SERVICE", "AUTONOMOUS_DATABASE", "INSTALLED_DATABASE"]
+ if not value_allowed_none_or_none_sentinel(database_type, allowed_values):
+ database_type = 'UNKNOWN_ENUM_VALUE'
+ self._database_type = database_type
+
+ @property
+ def lifecycle_state(self):
+ """
+ **[Required]** Gets the lifecycle_state of this TargetDatabaseSummary.
+ The current state of the target database in Data Safe.
+
+ Allowed values for this property are: "CREATING", "UPDATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED", "NEEDS_ATTENTION", "FAILED", 'UNKNOWN_ENUM_VALUE'.
+ Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
+
+
+ :return: The lifecycle_state of this TargetDatabaseSummary.
+ :rtype: str
+ """
+ return self._lifecycle_state
+
+ @lifecycle_state.setter
+ def lifecycle_state(self, lifecycle_state):
+ """
+ Sets the lifecycle_state of this TargetDatabaseSummary.
+ The current state of the target database in Data Safe.
+
+
+ :param lifecycle_state: The lifecycle_state of this TargetDatabaseSummary.
+ :type: str
+ """
+ allowed_values = ["CREATING", "UPDATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED", "NEEDS_ATTENTION", "FAILED"]
+ if not value_allowed_none_or_none_sentinel(lifecycle_state, allowed_values):
+ lifecycle_state = 'UNKNOWN_ENUM_VALUE'
+ self._lifecycle_state = lifecycle_state
+
+ @property
+ def lifecycle_details(self):
+ """
+ Gets the lifecycle_details of this TargetDatabaseSummary.
+ Details about the current state of the target database in Data Safe.
+
+
+ :return: The lifecycle_details of this TargetDatabaseSummary.
+ :rtype: str
+ """
+ return self._lifecycle_details
+
+ @lifecycle_details.setter
+ def lifecycle_details(self, lifecycle_details):
+ """
+ Sets the lifecycle_details of this TargetDatabaseSummary.
+ Details about the current state of the target database in Data Safe.
+
+
+ :param lifecycle_details: The lifecycle_details of this TargetDatabaseSummary.
+ :type: str
+ """
+ self._lifecycle_details = lifecycle_details
+
+ @property
+ def time_created(self):
+ """
+ **[Required]** Gets the time_created of this TargetDatabaseSummary.
+ The date and time the database was registered in Data Safe and created as a target database in Data Safe.
+
+
+ :return: The time_created of this TargetDatabaseSummary.
+ :rtype: datetime
+ """
+ return self._time_created
+
+ @time_created.setter
+ def time_created(self, time_created):
+ """
+ Sets the time_created of this TargetDatabaseSummary.
+ The date and time the database was registered in Data Safe and created as a target database in Data Safe.
+
+
+ :param time_created: The time_created of this TargetDatabaseSummary.
+ :type: datetime
+ """
+ self._time_created = time_created
+
+ @property
+ def freeform_tags(self):
+ """
+ Gets the freeform_tags of this TargetDatabaseSummary.
+ 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.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm
+
+
+ :return: The freeform_tags of this TargetDatabaseSummary.
+ :rtype: dict(str, str)
+ """
+ return self._freeform_tags
+
+ @freeform_tags.setter
+ def freeform_tags(self, freeform_tags):
+ """
+ Sets the freeform_tags of this TargetDatabaseSummary.
+ 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.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm
+
+
+ :param freeform_tags: The freeform_tags of this TargetDatabaseSummary.
+ :type: dict(str, str)
+ """
+ self._freeform_tags = freeform_tags
+
+ @property
+ def defined_tags(self):
+ """
+ Gets the defined_tags of this TargetDatabaseSummary.
+ 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.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm
+
+
+ :return: The defined_tags of this TargetDatabaseSummary.
+ :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 TargetDatabaseSummary.
+ 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.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm
+
+
+ :param defined_tags: The defined_tags of this TargetDatabaseSummary.
+ :type: dict(str, dict(str, object))
+ """
+ self._defined_tags = defined_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/data_safe/models/tls_config.py b/src/oci/data_safe/models/tls_config.py
new file mode 100644
index 0000000000..1c37c515cc
--- /dev/null
+++ b/src/oci/data_safe/models/tls_config.py
@@ -0,0 +1,222 @@
+# coding: utf-8
+# Copyright (c) 2016, 2021, Oracle and/or its affiliates. All rights reserved.
+# This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+
+
+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 TlsConfig(object):
+ """
+ The details required to establish a TLS enabled connection.
+ """
+
+ #: A constant which can be used with the status property of a TlsConfig.
+ #: This constant has a value of "ENABLED"
+ STATUS_ENABLED = "ENABLED"
+
+ #: A constant which can be used with the status property of a TlsConfig.
+ #: This constant has a value of "DISABLED"
+ STATUS_DISABLED = "DISABLED"
+
+ #: A constant which can be used with the certificate_store_type property of a TlsConfig.
+ #: This constant has a value of "JKS"
+ CERTIFICATE_STORE_TYPE_JKS = "JKS"
+
+ def __init__(self, **kwargs):
+ """
+ Initializes a new TlsConfig object with values from keyword arguments.
+ The following keyword arguments are supported (corresponding to the getters/setters of this class):
+
+ :param status:
+ The value to assign to the status property of this TlsConfig.
+ Allowed values for this property are: "ENABLED", "DISABLED", 'UNKNOWN_ENUM_VALUE'.
+ Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
+ :type status: str
+
+ :param certificate_store_type:
+ The value to assign to the certificate_store_type property of this TlsConfig.
+ Allowed values for this property are: "JKS", 'UNKNOWN_ENUM_VALUE'.
+ Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
+ :type certificate_store_type: str
+
+ :param store_password:
+ The value to assign to the store_password property of this TlsConfig.
+ :type store_password: str
+
+ :param trust_store_content:
+ The value to assign to the trust_store_content property of this TlsConfig.
+ :type trust_store_content: str
+
+ :param key_store_content:
+ The value to assign to the key_store_content property of this TlsConfig.
+ :type key_store_content: str
+
+ """
+ self.swagger_types = {
+ 'status': 'str',
+ 'certificate_store_type': 'str',
+ 'store_password': 'str',
+ 'trust_store_content': 'str',
+ 'key_store_content': 'str'
+ }
+
+ self.attribute_map = {
+ 'status': 'status',
+ 'certificate_store_type': 'certificateStoreType',
+ 'store_password': 'storePassword',
+ 'trust_store_content': 'trustStoreContent',
+ 'key_store_content': 'keyStoreContent'
+ }
+
+ self._status = None
+ self._certificate_store_type = None
+ self._store_password = None
+ self._trust_store_content = None
+ self._key_store_content = None
+
+ @property
+ def status(self):
+ """
+ **[Required]** Gets the status of this TlsConfig.
+ Status to represent whether the database connection is TLS enabled or not.
+
+ Allowed values for this property are: "ENABLED", "DISABLED", 'UNKNOWN_ENUM_VALUE'.
+ Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
+
+
+ :return: The status of this TlsConfig.
+ :rtype: str
+ """
+ return self._status
+
+ @status.setter
+ def status(self, status):
+ """
+ Sets the status of this TlsConfig.
+ Status to represent whether the database connection is TLS enabled or not.
+
+
+ :param status: The status of this TlsConfig.
+ :type: str
+ """
+ allowed_values = ["ENABLED", "DISABLED"]
+ if not value_allowed_none_or_none_sentinel(status, allowed_values):
+ status = 'UNKNOWN_ENUM_VALUE'
+ self._status = status
+
+ @property
+ def certificate_store_type(self):
+ """
+ Gets the certificate_store_type of this TlsConfig.
+ The format of the certificate store.
+
+ Allowed values for this property are: "JKS", 'UNKNOWN_ENUM_VALUE'.
+ Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
+
+
+ :return: The certificate_store_type of this TlsConfig.
+ :rtype: str
+ """
+ return self._certificate_store_type
+
+ @certificate_store_type.setter
+ def certificate_store_type(self, certificate_store_type):
+ """
+ Sets the certificate_store_type of this TlsConfig.
+ The format of the certificate store.
+
+
+ :param certificate_store_type: The certificate_store_type of this TlsConfig.
+ :type: str
+ """
+ allowed_values = ["JKS"]
+ if not value_allowed_none_or_none_sentinel(certificate_store_type, allowed_values):
+ certificate_store_type = 'UNKNOWN_ENUM_VALUE'
+ self._certificate_store_type = certificate_store_type
+
+ @property
+ def store_password(self):
+ """
+ Gets the store_password of this TlsConfig.
+ The password to read the trust store and key store files, if they are password protected.
+
+
+ :return: The store_password of this TlsConfig.
+ :rtype: str
+ """
+ return self._store_password
+
+ @store_password.setter
+ def store_password(self, store_password):
+ """
+ Sets the store_password of this TlsConfig.
+ The password to read the trust store and key store files, if they are password protected.
+
+
+ :param store_password: The store_password of this TlsConfig.
+ :type: str
+ """
+ self._store_password = store_password
+
+ @property
+ def trust_store_content(self):
+ """
+ Gets the trust_store_content of this TlsConfig.
+ Base64 encoded string of trust store file content.
+
+
+ :return: The trust_store_content of this TlsConfig.
+ :rtype: str
+ """
+ return self._trust_store_content
+
+ @trust_store_content.setter
+ def trust_store_content(self, trust_store_content):
+ """
+ Sets the trust_store_content of this TlsConfig.
+ Base64 encoded string of trust store file content.
+
+
+ :param trust_store_content: The trust_store_content of this TlsConfig.
+ :type: str
+ """
+ self._trust_store_content = trust_store_content
+
+ @property
+ def key_store_content(self):
+ """
+ Gets the key_store_content of this TlsConfig.
+ Base64 encoded string of key store file content.
+
+
+ :return: The key_store_content of this TlsConfig.
+ :rtype: str
+ """
+ return self._key_store_content
+
+ @key_store_content.setter
+ def key_store_content(self, key_store_content):
+ """
+ Sets the key_store_content of this TlsConfig.
+ Base64 encoded string of key store file content.
+
+
+ :param key_store_content: The key_store_content of this TlsConfig.
+ :type: str
+ """
+ self._key_store_content = key_store_content
+
+ 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/data_safe/models/update_target_database_details.py b/src/oci/data_safe/models/update_target_database_details.py
new file mode 100644
index 0000000000..fa5c73e0b5
--- /dev/null
+++ b/src/oci/data_safe/models/update_target_database_details.py
@@ -0,0 +1,287 @@
+# coding: utf-8
+# Copyright (c) 2016, 2021, Oracle and/or its affiliates. All rights reserved.
+# This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+
+
+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 UpdateTargetDatabaseDetails(object):
+ """
+ The details of the database used for updating the target database in Data Safe.
+ """
+
+ def __init__(self, **kwargs):
+ """
+ Initializes a new UpdateTargetDatabaseDetails object with values from keyword arguments.
+ The following keyword arguments are supported (corresponding to the getters/setters of this class):
+
+ :param display_name:
+ The value to assign to the display_name property of this UpdateTargetDatabaseDetails.
+ :type display_name: str
+
+ :param description:
+ The value to assign to the description property of this UpdateTargetDatabaseDetails.
+ :type description: str
+
+ :param database_details:
+ The value to assign to the database_details property of this UpdateTargetDatabaseDetails.
+ :type database_details: oci.data_safe.models.DatabaseDetails
+
+ :param credentials:
+ The value to assign to the credentials property of this UpdateTargetDatabaseDetails.
+ :type credentials: oci.data_safe.models.Credentials
+
+ :param tls_config:
+ The value to assign to the tls_config property of this UpdateTargetDatabaseDetails.
+ :type tls_config: oci.data_safe.models.TlsConfig
+
+ :param connection_option:
+ The value to assign to the connection_option property of this UpdateTargetDatabaseDetails.
+ :type connection_option: oci.data_safe.models.ConnectionOption
+
+ :param freeform_tags:
+ The value to assign to the freeform_tags property of this UpdateTargetDatabaseDetails.
+ :type freeform_tags: dict(str, str)
+
+ :param defined_tags:
+ The value to assign to the defined_tags property of this UpdateTargetDatabaseDetails.
+ :type defined_tags: dict(str, dict(str, object))
+
+ """
+ self.swagger_types = {
+ 'display_name': 'str',
+ 'description': 'str',
+ 'database_details': 'DatabaseDetails',
+ 'credentials': 'Credentials',
+ 'tls_config': 'TlsConfig',
+ 'connection_option': 'ConnectionOption',
+ 'freeform_tags': 'dict(str, str)',
+ 'defined_tags': 'dict(str, dict(str, object))'
+ }
+
+ self.attribute_map = {
+ 'display_name': 'displayName',
+ 'description': 'description',
+ 'database_details': 'databaseDetails',
+ 'credentials': 'credentials',
+ 'tls_config': 'tlsConfig',
+ 'connection_option': 'connectionOption',
+ 'freeform_tags': 'freeformTags',
+ 'defined_tags': 'definedTags'
+ }
+
+ self._display_name = None
+ self._description = None
+ self._database_details = None
+ self._credentials = None
+ self._tls_config = None
+ self._connection_option = None
+ self._freeform_tags = None
+ self._defined_tags = None
+
+ @property
+ def display_name(self):
+ """
+ Gets the display_name of this UpdateTargetDatabaseDetails.
+ The display name of the target database in Data Safe.
+
+
+ :return: The display_name of this UpdateTargetDatabaseDetails.
+ :rtype: str
+ """
+ return self._display_name
+
+ @display_name.setter
+ def display_name(self, display_name):
+ """
+ Sets the display_name of this UpdateTargetDatabaseDetails.
+ The display name of the target database in Data Safe.
+
+
+ :param display_name: The display_name of this UpdateTargetDatabaseDetails.
+ :type: str
+ """
+ self._display_name = display_name
+
+ @property
+ def description(self):
+ """
+ Gets the description of this UpdateTargetDatabaseDetails.
+ The description of the target database in Data Safe.
+
+
+ :return: The description of this UpdateTargetDatabaseDetails.
+ :rtype: str
+ """
+ return self._description
+
+ @description.setter
+ def description(self, description):
+ """
+ Sets the description of this UpdateTargetDatabaseDetails.
+ The description of the target database in Data Safe.
+
+
+ :param description: The description of this UpdateTargetDatabaseDetails.
+ :type: str
+ """
+ self._description = description
+
+ @property
+ def database_details(self):
+ """
+ Gets the database_details of this UpdateTargetDatabaseDetails.
+
+ :return: The database_details of this UpdateTargetDatabaseDetails.
+ :rtype: oci.data_safe.models.DatabaseDetails
+ """
+ return self._database_details
+
+ @database_details.setter
+ def database_details(self, database_details):
+ """
+ Sets the database_details of this UpdateTargetDatabaseDetails.
+
+ :param database_details: The database_details of this UpdateTargetDatabaseDetails.
+ :type: oci.data_safe.models.DatabaseDetails
+ """
+ self._database_details = database_details
+
+ @property
+ def credentials(self):
+ """
+ Gets the credentials of this UpdateTargetDatabaseDetails.
+
+ :return: The credentials of this UpdateTargetDatabaseDetails.
+ :rtype: oci.data_safe.models.Credentials
+ """
+ return self._credentials
+
+ @credentials.setter
+ def credentials(self, credentials):
+ """
+ Sets the credentials of this UpdateTargetDatabaseDetails.
+
+ :param credentials: The credentials of this UpdateTargetDatabaseDetails.
+ :type: oci.data_safe.models.Credentials
+ """
+ self._credentials = credentials
+
+ @property
+ def tls_config(self):
+ """
+ Gets the tls_config of this UpdateTargetDatabaseDetails.
+
+ :return: The tls_config of this UpdateTargetDatabaseDetails.
+ :rtype: oci.data_safe.models.TlsConfig
+ """
+ return self._tls_config
+
+ @tls_config.setter
+ def tls_config(self, tls_config):
+ """
+ Sets the tls_config of this UpdateTargetDatabaseDetails.
+
+ :param tls_config: The tls_config of this UpdateTargetDatabaseDetails.
+ :type: oci.data_safe.models.TlsConfig
+ """
+ self._tls_config = tls_config
+
+ @property
+ def connection_option(self):
+ """
+ Gets the connection_option of this UpdateTargetDatabaseDetails.
+
+ :return: The connection_option of this UpdateTargetDatabaseDetails.
+ :rtype: oci.data_safe.models.ConnectionOption
+ """
+ return self._connection_option
+
+ @connection_option.setter
+ def connection_option(self, connection_option):
+ """
+ Sets the connection_option of this UpdateTargetDatabaseDetails.
+
+ :param connection_option: The connection_option of this UpdateTargetDatabaseDetails.
+ :type: oci.data_safe.models.ConnectionOption
+ """
+ self._connection_option = connection_option
+
+ @property
+ def freeform_tags(self):
+ """
+ Gets the freeform_tags of this UpdateTargetDatabaseDetails.
+ 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.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm
+
+
+ :return: The freeform_tags of this UpdateTargetDatabaseDetails.
+ :rtype: dict(str, str)
+ """
+ return self._freeform_tags
+
+ @freeform_tags.setter
+ def freeform_tags(self, freeform_tags):
+ """
+ Sets the freeform_tags of this UpdateTargetDatabaseDetails.
+ 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.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm
+
+
+ :param freeform_tags: The freeform_tags of this UpdateTargetDatabaseDetails.
+ :type: dict(str, str)
+ """
+ self._freeform_tags = freeform_tags
+
+ @property
+ def defined_tags(self):
+ """
+ Gets the defined_tags of this UpdateTargetDatabaseDetails.
+ 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.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm
+
+
+ :return: The defined_tags of this UpdateTargetDatabaseDetails.
+ :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 UpdateTargetDatabaseDetails.
+ 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.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm
+
+
+ :param defined_tags: The defined_tags of this UpdateTargetDatabaseDetails.
+ :type: dict(str, dict(str, object))
+ """
+ self._defined_tags = defined_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/data_safe/models/work_request.py b/src/oci/data_safe/models/work_request.py
index 705075dc4f..bbdf051558 100644
--- a/src/oci/data_safe/models/work_request.py
+++ b/src/oci/data_safe/models/work_request.py
@@ -53,6 +53,30 @@ class WorkRequest(object):
#: This constant has a value of "CHANGE_ONPREM_CONNECTOR_COMPARTMENT"
OPERATION_TYPE_CHANGE_ONPREM_CONNECTOR_COMPARTMENT = "CHANGE_ONPREM_CONNECTOR_COMPARTMENT"
+ #: A constant which can be used with the operation_type property of a WorkRequest.
+ #: This constant has a value of "CREATE_TARGET_DATABASE"
+ OPERATION_TYPE_CREATE_TARGET_DATABASE = "CREATE_TARGET_DATABASE"
+
+ #: A constant which can be used with the operation_type property of a WorkRequest.
+ #: This constant has a value of "UPDATE_TARGET_DATABASE"
+ OPERATION_TYPE_UPDATE_TARGET_DATABASE = "UPDATE_TARGET_DATABASE"
+
+ #: A constant which can be used with the operation_type property of a WorkRequest.
+ #: This constant has a value of "ACTIVATE_TARGET_DATABASE"
+ OPERATION_TYPE_ACTIVATE_TARGET_DATABASE = "ACTIVATE_TARGET_DATABASE"
+
+ #: A constant which can be used with the operation_type property of a WorkRequest.
+ #: This constant has a value of "DEACTIVATE_TARGET_DATABASE"
+ OPERATION_TYPE_DEACTIVATE_TARGET_DATABASE = "DEACTIVATE_TARGET_DATABASE"
+
+ #: A constant which can be used with the operation_type property of a WorkRequest.
+ #: This constant has a value of "DELETE_TARGET_DATABASE"
+ OPERATION_TYPE_DELETE_TARGET_DATABASE = "DELETE_TARGET_DATABASE"
+
+ #: A constant which can be used with the operation_type property of a WorkRequest.
+ #: This constant has a value of "CHANGE_TARGET_DATABASE_COMPARTMENT"
+ OPERATION_TYPE_CHANGE_TARGET_DATABASE_COMPARTMENT = "CHANGE_TARGET_DATABASE_COMPARTMENT"
+
#: A constant which can be used with the status property of a WorkRequest.
#: This constant has a value of "ACCEPTED"
STATUS_ACCEPTED = "ACCEPTED"
@@ -76,7 +100,7 @@ def __init__(self, **kwargs):
:param operation_type:
The value to assign to the operation_type property of this WorkRequest.
- Allowed values for this property are: "ENABLE_DATA_SAFE_CONFIGURATION", "CREATE_PRIVATE_ENDPOINT", "UPDATE_PRIVATE_ENDPOINT", "DELETE_PRIVATE_ENDPOINT", "CHANGE_PRIVATE_ENDPOINT_COMPARTMENT", "CREATE_ONPREM_CONNECTOR", "UPDATE_ONPREM_CONNECTOR", "DELETE_ONPREM_CONNECTOR", "UPDATE_ONPREM_CONNECTOR_WALLET", "CHANGE_ONPREM_CONNECTOR_COMPARTMENT", 'UNKNOWN_ENUM_VALUE'.
+ Allowed values for this property are: "ENABLE_DATA_SAFE_CONFIGURATION", "CREATE_PRIVATE_ENDPOINT", "UPDATE_PRIVATE_ENDPOINT", "DELETE_PRIVATE_ENDPOINT", "CHANGE_PRIVATE_ENDPOINT_COMPARTMENT", "CREATE_ONPREM_CONNECTOR", "UPDATE_ONPREM_CONNECTOR", "DELETE_ONPREM_CONNECTOR", "UPDATE_ONPREM_CONNECTOR_WALLET", "CHANGE_ONPREM_CONNECTOR_COMPARTMENT", "CREATE_TARGET_DATABASE", "UPDATE_TARGET_DATABASE", "ACTIVATE_TARGET_DATABASE", "DEACTIVATE_TARGET_DATABASE", "DELETE_TARGET_DATABASE", "CHANGE_TARGET_DATABASE_COMPARTMENT", 'UNKNOWN_ENUM_VALUE'.
Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
:type operation_type: str
@@ -155,7 +179,7 @@ def operation_type(self):
**[Required]** Gets the operation_type of this WorkRequest.
The resources that are affected by the work request.
- Allowed values for this property are: "ENABLE_DATA_SAFE_CONFIGURATION", "CREATE_PRIVATE_ENDPOINT", "UPDATE_PRIVATE_ENDPOINT", "DELETE_PRIVATE_ENDPOINT", "CHANGE_PRIVATE_ENDPOINT_COMPARTMENT", "CREATE_ONPREM_CONNECTOR", "UPDATE_ONPREM_CONNECTOR", "DELETE_ONPREM_CONNECTOR", "UPDATE_ONPREM_CONNECTOR_WALLET", "CHANGE_ONPREM_CONNECTOR_COMPARTMENT", 'UNKNOWN_ENUM_VALUE'.
+ Allowed values for this property are: "ENABLE_DATA_SAFE_CONFIGURATION", "CREATE_PRIVATE_ENDPOINT", "UPDATE_PRIVATE_ENDPOINT", "DELETE_PRIVATE_ENDPOINT", "CHANGE_PRIVATE_ENDPOINT_COMPARTMENT", "CREATE_ONPREM_CONNECTOR", "UPDATE_ONPREM_CONNECTOR", "DELETE_ONPREM_CONNECTOR", "UPDATE_ONPREM_CONNECTOR_WALLET", "CHANGE_ONPREM_CONNECTOR_COMPARTMENT", "CREATE_TARGET_DATABASE", "UPDATE_TARGET_DATABASE", "ACTIVATE_TARGET_DATABASE", "DEACTIVATE_TARGET_DATABASE", "DELETE_TARGET_DATABASE", "CHANGE_TARGET_DATABASE_COMPARTMENT", 'UNKNOWN_ENUM_VALUE'.
Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
@@ -174,7 +198,7 @@ def operation_type(self, operation_type):
:param operation_type: The operation_type of this WorkRequest.
:type: str
"""
- allowed_values = ["ENABLE_DATA_SAFE_CONFIGURATION", "CREATE_PRIVATE_ENDPOINT", "UPDATE_PRIVATE_ENDPOINT", "DELETE_PRIVATE_ENDPOINT", "CHANGE_PRIVATE_ENDPOINT_COMPARTMENT", "CREATE_ONPREM_CONNECTOR", "UPDATE_ONPREM_CONNECTOR", "DELETE_ONPREM_CONNECTOR", "UPDATE_ONPREM_CONNECTOR_WALLET", "CHANGE_ONPREM_CONNECTOR_COMPARTMENT"]
+ allowed_values = ["ENABLE_DATA_SAFE_CONFIGURATION", "CREATE_PRIVATE_ENDPOINT", "UPDATE_PRIVATE_ENDPOINT", "DELETE_PRIVATE_ENDPOINT", "CHANGE_PRIVATE_ENDPOINT_COMPARTMENT", "CREATE_ONPREM_CONNECTOR", "UPDATE_ONPREM_CONNECTOR", "DELETE_ONPREM_CONNECTOR", "UPDATE_ONPREM_CONNECTOR_WALLET", "CHANGE_ONPREM_CONNECTOR_COMPARTMENT", "CREATE_TARGET_DATABASE", "UPDATE_TARGET_DATABASE", "ACTIVATE_TARGET_DATABASE", "DEACTIVATE_TARGET_DATABASE", "DELETE_TARGET_DATABASE", "CHANGE_TARGET_DATABASE_COMPARTMENT"]
if not value_allowed_none_or_none_sentinel(operation_type, allowed_values):
operation_type = 'UNKNOWN_ENUM_VALUE'
self._operation_type = operation_type
diff --git a/src/oci/data_safe/models/work_request_summary.py b/src/oci/data_safe/models/work_request_summary.py
index fac56488a6..fbb755bdd8 100644
--- a/src/oci/data_safe/models/work_request_summary.py
+++ b/src/oci/data_safe/models/work_request_summary.py
@@ -53,6 +53,30 @@ class WorkRequestSummary(object):
#: This constant has a value of "CHANGE_ONPREM_CONNECTOR_COMPARTMENT"
OPERATION_TYPE_CHANGE_ONPREM_CONNECTOR_COMPARTMENT = "CHANGE_ONPREM_CONNECTOR_COMPARTMENT"
+ #: A constant which can be used with the operation_type property of a WorkRequestSummary.
+ #: This constant has a value of "CREATE_TARGET_DATABASE"
+ OPERATION_TYPE_CREATE_TARGET_DATABASE = "CREATE_TARGET_DATABASE"
+
+ #: A constant which can be used with the operation_type property of a WorkRequestSummary.
+ #: This constant has a value of "UPDATE_TARGET_DATABASE"
+ OPERATION_TYPE_UPDATE_TARGET_DATABASE = "UPDATE_TARGET_DATABASE"
+
+ #: A constant which can be used with the operation_type property of a WorkRequestSummary.
+ #: This constant has a value of "ACTIVATE_TARGET_DATABASE"
+ OPERATION_TYPE_ACTIVATE_TARGET_DATABASE = "ACTIVATE_TARGET_DATABASE"
+
+ #: A constant which can be used with the operation_type property of a WorkRequestSummary.
+ #: This constant has a value of "DEACTIVATE_TARGET_DATABASE"
+ OPERATION_TYPE_DEACTIVATE_TARGET_DATABASE = "DEACTIVATE_TARGET_DATABASE"
+
+ #: A constant which can be used with the operation_type property of a WorkRequestSummary.
+ #: This constant has a value of "DELETE_TARGET_DATABASE"
+ OPERATION_TYPE_DELETE_TARGET_DATABASE = "DELETE_TARGET_DATABASE"
+
+ #: A constant which can be used with the operation_type property of a WorkRequestSummary.
+ #: This constant has a value of "CHANGE_TARGET_DATABASE_COMPARTMENT"
+ OPERATION_TYPE_CHANGE_TARGET_DATABASE_COMPARTMENT = "CHANGE_TARGET_DATABASE_COMPARTMENT"
+
#: A constant which can be used with the status property of a WorkRequestSummary.
#: This constant has a value of "ACCEPTED"
STATUS_ACCEPTED = "ACCEPTED"
@@ -76,7 +100,7 @@ def __init__(self, **kwargs):
:param operation_type:
The value to assign to the operation_type property of this WorkRequestSummary.
- Allowed values for this property are: "ENABLE_DATA_SAFE_CONFIGURATION", "CREATE_PRIVATE_ENDPOINT", "UPDATE_PRIVATE_ENDPOINT", "DELETE_PRIVATE_ENDPOINT", "CHANGE_PRIVATE_ENDPOINT_COMPARTMENT", "CREATE_ONPREM_CONNECTOR", "UPDATE_ONPREM_CONNECTOR", "DELETE_ONPREM_CONNECTOR", "UPDATE_ONPREM_CONNECTOR_WALLET", "CHANGE_ONPREM_CONNECTOR_COMPARTMENT", 'UNKNOWN_ENUM_VALUE'.
+ Allowed values for this property are: "ENABLE_DATA_SAFE_CONFIGURATION", "CREATE_PRIVATE_ENDPOINT", "UPDATE_PRIVATE_ENDPOINT", "DELETE_PRIVATE_ENDPOINT", "CHANGE_PRIVATE_ENDPOINT_COMPARTMENT", "CREATE_ONPREM_CONNECTOR", "UPDATE_ONPREM_CONNECTOR", "DELETE_ONPREM_CONNECTOR", "UPDATE_ONPREM_CONNECTOR_WALLET", "CHANGE_ONPREM_CONNECTOR_COMPARTMENT", "CREATE_TARGET_DATABASE", "UPDATE_TARGET_DATABASE", "ACTIVATE_TARGET_DATABASE", "DEACTIVATE_TARGET_DATABASE", "DELETE_TARGET_DATABASE", "CHANGE_TARGET_DATABASE_COMPARTMENT", 'UNKNOWN_ENUM_VALUE'.
Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
:type operation_type: str
@@ -155,7 +179,7 @@ def operation_type(self):
**[Required]** Gets the operation_type of this WorkRequestSummary.
The asynchronous operation tracked by this work request.
- Allowed values for this property are: "ENABLE_DATA_SAFE_CONFIGURATION", "CREATE_PRIVATE_ENDPOINT", "UPDATE_PRIVATE_ENDPOINT", "DELETE_PRIVATE_ENDPOINT", "CHANGE_PRIVATE_ENDPOINT_COMPARTMENT", "CREATE_ONPREM_CONNECTOR", "UPDATE_ONPREM_CONNECTOR", "DELETE_ONPREM_CONNECTOR", "UPDATE_ONPREM_CONNECTOR_WALLET", "CHANGE_ONPREM_CONNECTOR_COMPARTMENT", 'UNKNOWN_ENUM_VALUE'.
+ Allowed values for this property are: "ENABLE_DATA_SAFE_CONFIGURATION", "CREATE_PRIVATE_ENDPOINT", "UPDATE_PRIVATE_ENDPOINT", "DELETE_PRIVATE_ENDPOINT", "CHANGE_PRIVATE_ENDPOINT_COMPARTMENT", "CREATE_ONPREM_CONNECTOR", "UPDATE_ONPREM_CONNECTOR", "DELETE_ONPREM_CONNECTOR", "UPDATE_ONPREM_CONNECTOR_WALLET", "CHANGE_ONPREM_CONNECTOR_COMPARTMENT", "CREATE_TARGET_DATABASE", "UPDATE_TARGET_DATABASE", "ACTIVATE_TARGET_DATABASE", "DEACTIVATE_TARGET_DATABASE", "DELETE_TARGET_DATABASE", "CHANGE_TARGET_DATABASE_COMPARTMENT", 'UNKNOWN_ENUM_VALUE'.
Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
@@ -174,7 +198,7 @@ def operation_type(self, operation_type):
:param operation_type: The operation_type of this WorkRequestSummary.
:type: str
"""
- allowed_values = ["ENABLE_DATA_SAFE_CONFIGURATION", "CREATE_PRIVATE_ENDPOINT", "UPDATE_PRIVATE_ENDPOINT", "DELETE_PRIVATE_ENDPOINT", "CHANGE_PRIVATE_ENDPOINT_COMPARTMENT", "CREATE_ONPREM_CONNECTOR", "UPDATE_ONPREM_CONNECTOR", "DELETE_ONPREM_CONNECTOR", "UPDATE_ONPREM_CONNECTOR_WALLET", "CHANGE_ONPREM_CONNECTOR_COMPARTMENT"]
+ allowed_values = ["ENABLE_DATA_SAFE_CONFIGURATION", "CREATE_PRIVATE_ENDPOINT", "UPDATE_PRIVATE_ENDPOINT", "DELETE_PRIVATE_ENDPOINT", "CHANGE_PRIVATE_ENDPOINT_COMPARTMENT", "CREATE_ONPREM_CONNECTOR", "UPDATE_ONPREM_CONNECTOR", "DELETE_ONPREM_CONNECTOR", "UPDATE_ONPREM_CONNECTOR_WALLET", "CHANGE_ONPREM_CONNECTOR_COMPARTMENT", "CREATE_TARGET_DATABASE", "UPDATE_TARGET_DATABASE", "ACTIVATE_TARGET_DATABASE", "DEACTIVATE_TARGET_DATABASE", "DELETE_TARGET_DATABASE", "CHANGE_TARGET_DATABASE_COMPARTMENT"]
if not value_allowed_none_or_none_sentinel(operation_type, allowed_values):
operation_type = 'UNKNOWN_ENUM_VALUE'
self._operation_type = operation_type
diff --git a/src/oci/database/database_client.py b/src/oci/database/database_client.py
index 787c85c9a8..fbfe7f7293 100644
--- a/src/oci/database/database_client.py
+++ b/src/oci/database/database_client.py
@@ -181,6 +181,101 @@ def activate_exadata_infrastructure(self, exadata_infrastructure_id, activate_ex
body=activate_exadata_infrastructure_details,
response_type="ExadataInfrastructure")
+ def add_storage_capacity_exadata_infrastructure(self, exadata_infrastructure_id, **kwargs):
+ """
+ Makes the storage capacity from additional storage servers available for VM Cluster consumption. Applies to Exadata Cloud@Customer instances only.
+
+
+ :param str exadata_infrastructure_id: (required)
+ The Exadata infrastructure `OCID`__.
+
+ __ https://docs.cloud.oracle.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 str opc_request_id: (optional)
+ Unique identifier for the request.
+
+ :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.database.models.ExadataInfrastructure`
+ :rtype: :class:`~oci.response.Response`
+
+ :example:
+ Click `here `__ to see an example of how to use add_storage_capacity_exadata_infrastructure API.
+ """
+ resource_path = "/exadataInfrastructures/{exadataInfrastructureId}/actions/addStorageCapacity"
+ method = "POST"
+
+ # Don't accept unknown kwargs
+ expected_kwargs = [
+ "retry_strategy",
+ "if_match",
+ "opc_request_id",
+ "opc_retry_token"
+ ]
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
+ if extra_kwargs:
+ raise ValueError(
+ "add_storage_capacity_exadata_infrastructure got unknown kwargs: {!r}".format(extra_kwargs))
+
+ path_params = {
+ "exadataInfrastructureId": exadata_infrastructure_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),
+ "opc-request-id": kwargs.get("opc_request_id", missing),
+ "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,
+ path_params=path_params,
+ header_params=header_params,
+ response_type="ExadataInfrastructure")
+ else:
+ return self.base_client.call_api(
+ resource_path=resource_path,
+ method=method,
+ path_params=path_params,
+ header_params=header_params,
+ response_type="ExadataInfrastructure")
+
def autonomous_database_manual_refresh(self, autonomous_database_id, autonomous_database_manual_refresh_details, **kwargs):
"""
Initiates a data refresh for an Autonomous Database refreshable clone. Data is refreshed from the source database to the point of a specified timestamp.
diff --git a/src/oci/database/database_client_composite_operations.py b/src/oci/database/database_client_composite_operations.py
index 37331ca223..5b1cd79ce3 100644
--- a/src/oci/database/database_client_composite_operations.py
+++ b/src/oci/database/database_client_composite_operations.py
@@ -110,6 +110,83 @@ def activate_exadata_infrastructure_and_wait_for_state(self, exadata_infrastruct
except Exception as e:
raise oci.exceptions.CompositeOperationError(partial_results=[operation_result], cause=e)
+ def add_storage_capacity_exadata_infrastructure_and_wait_for_work_request(self, exadata_infrastructure_id, work_request_states=[], operation_kwargs={}, waiter_kwargs={}):
+ """
+ Calls :py:func:`~oci.database.DatabaseClient.add_storage_capacity_exadata_infrastructure` and waits for the oci.work_requests.models.WorkRequest
+ to enter the given state(s).
+
+ :param str exadata_infrastructure_id: (required)
+ The Exadata infrastructure `OCID`__.
+
+ __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm
+
+ :param list[str] work_request_states: (optional)
+ An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
+ Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]
+
+ :param dict operation_kwargs:
+ A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.add_storage_capacity_exadata_infrastructure`
+
+ :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.add_storage_capacity_exadata_infrastructure(exadata_infrastructure_id, **operation_kwargs)
+ work_request_states = work_request_states if work_request_states else oci.waiter._WORK_REQUEST_TERMINATION_STATES
+ lowered_work_request_states = [w.lower() for w in work_request_states]
+ work_request_id = operation_result.headers['opc-work-request-id']
+
+ try:
+ waiter_result = oci.wait_until(
+ self._work_request_client,
+ self._work_request_client.get_work_request(work_request_id),
+ evaluate_response=lambda r: getattr(r.data, 'status') and getattr(r.data, 'status').lower() in lowered_work_request_states,
+ **waiter_kwargs
+ )
+ return waiter_result
+ except Exception as e:
+ raise oci.exceptions.CompositeOperationError(partial_results=[operation_result], cause=e)
+
+ def add_storage_capacity_exadata_infrastructure_and_wait_for_state(self, exadata_infrastructure_id, wait_for_states=[], operation_kwargs={}, waiter_kwargs={}):
+ """
+ Calls :py:func:`~oci.database.DatabaseClient.add_storage_capacity_exadata_infrastructure` and waits for the :py:class:`~oci.database.models.ExadataInfrastructure` acted upon
+ to enter the given state(s).
+
+ :param str exadata_infrastructure_id: (required)
+ The Exadata infrastructure `OCID`__.
+
+ __ https://docs.cloud.oracle.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.database.models.ExadataInfrastructure.lifecycle_state`
+
+ :param dict operation_kwargs:
+ A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.add_storage_capacity_exadata_infrastructure`
+
+ :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.add_storage_capacity_exadata_infrastructure(exadata_infrastructure_id, **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_exadata_infrastructure(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 autonomous_database_manual_refresh_and_wait_for_work_request(self, autonomous_database_id, autonomous_database_manual_refresh_details, work_request_states=[], operation_kwargs={}, waiter_kwargs={}):
"""
Calls :py:func:`~oci.database.DatabaseClient.autonomous_database_manual_refresh` and waits for the oci.work_requests.models.WorkRequest
diff --git a/src/oci/database/models/create_exadata_infrastructure_details.py b/src/oci/database/models/create_exadata_infrastructure_details.py
index ad4605e436..2016f8499e 100644
--- a/src/oci/database/models/create_exadata_infrastructure_details.py
+++ b/src/oci/database/models/create_exadata_infrastructure_details.py
@@ -71,6 +71,14 @@ def __init__(self, **kwargs):
The value to assign to the maintenance_window property of this CreateExadataInfrastructureDetails.
:type maintenance_window: oci.database.models.MaintenanceWindow
+ :param storage_count:
+ The value to assign to the storage_count property of this CreateExadataInfrastructureDetails.
+ :type storage_count: int
+
+ :param compute_count:
+ The value to assign to the compute_count property of this CreateExadataInfrastructureDetails.
+ :type compute_count: int
+
:param dns_server:
The value to assign to the dns_server property of this CreateExadataInfrastructureDetails.
:type dns_server: list[str]
@@ -102,6 +110,8 @@ def __init__(self, **kwargs):
'corporate_proxy': 'str',
'contacts': 'list[ExadataInfrastructureContact]',
'maintenance_window': 'MaintenanceWindow',
+ 'storage_count': 'int',
+ 'compute_count': 'int',
'dns_server': 'list[str]',
'ntp_server': 'list[str]',
'freeform_tags': 'dict(str, str)',
@@ -122,6 +132,8 @@ def __init__(self, **kwargs):
'corporate_proxy': 'corporateProxy',
'contacts': 'contacts',
'maintenance_window': 'maintenanceWindow',
+ 'storage_count': 'storageCount',
+ 'compute_count': 'computeCount',
'dns_server': 'dnsServer',
'ntp_server': 'ntpServer',
'freeform_tags': 'freeformTags',
@@ -141,6 +153,8 @@ def __init__(self, **kwargs):
self._corporate_proxy = None
self._contacts = None
self._maintenance_window = None
+ self._storage_count = None
+ self._compute_count = None
self._dns_server = None
self._ntp_server = None
self._freeform_tags = None
@@ -464,6 +478,54 @@ def maintenance_window(self, maintenance_window):
"""
self._maintenance_window = maintenance_window
+ @property
+ def storage_count(self):
+ """
+ Gets the storage_count of this CreateExadataInfrastructureDetails.
+ The number of storage servers for the Exadata infrastructure.
+
+
+ :return: The storage_count of this CreateExadataInfrastructureDetails.
+ :rtype: int
+ """
+ return self._storage_count
+
+ @storage_count.setter
+ def storage_count(self, storage_count):
+ """
+ Sets the storage_count of this CreateExadataInfrastructureDetails.
+ The number of storage servers for the Exadata infrastructure.
+
+
+ :param storage_count: The storage_count of this CreateExadataInfrastructureDetails.
+ :type: int
+ """
+ self._storage_count = storage_count
+
+ @property
+ def compute_count(self):
+ """
+ Gets the compute_count of this CreateExadataInfrastructureDetails.
+ The number of compute servers for the Exadata infrastructure.
+
+
+ :return: The compute_count of this CreateExadataInfrastructureDetails.
+ :rtype: int
+ """
+ return self._compute_count
+
+ @compute_count.setter
+ def compute_count(self, compute_count):
+ """
+ Sets the compute_count of this CreateExadataInfrastructureDetails.
+ The number of compute servers for the Exadata infrastructure.
+
+
+ :param compute_count: The compute_count of this CreateExadataInfrastructureDetails.
+ :type: int
+ """
+ self._compute_count = compute_count
+
@property
def dns_server(self):
"""
diff --git a/src/oci/database/models/db_system_shape_summary.py b/src/oci/database/models/db_system_shape_summary.py
index c0da868a8e..039c16bb05 100644
--- a/src/oci/database/models/db_system_shape_summary.py
+++ b/src/oci/database/models/db_system_shape_summary.py
@@ -48,6 +48,26 @@ def __init__(self, **kwargs):
The value to assign to the core_count_increment property of this DbSystemShapeSummary.
:type core_count_increment: int
+ :param min_storage_count:
+ The value to assign to the min_storage_count property of this DbSystemShapeSummary.
+ :type min_storage_count: int
+
+ :param max_storage_count:
+ The value to assign to the max_storage_count property of this DbSystemShapeSummary.
+ :type max_storage_count: int
+
+ :param available_data_storage_per_server_in_tbs:
+ The value to assign to the available_data_storage_per_server_in_tbs property of this DbSystemShapeSummary.
+ :type available_data_storage_per_server_in_tbs: float
+
+ :param available_memory_per_node_in_gbs:
+ The value to assign to the available_memory_per_node_in_gbs property of this DbSystemShapeSummary.
+ :type available_memory_per_node_in_gbs: int
+
+ :param available_db_node_per_node_in_gbs:
+ The value to assign to the available_db_node_per_node_in_gbs property of this DbSystemShapeSummary.
+ :type available_db_node_per_node_in_gbs: int
+
:param min_core_count_per_node:
The value to assign to the min_core_count_per_node property of this DbSystemShapeSummary.
:type min_core_count_per_node: int
@@ -96,6 +116,11 @@ def __init__(self, **kwargs):
'available_core_count': 'int',
'minimum_core_count': 'int',
'core_count_increment': 'int',
+ 'min_storage_count': 'int',
+ 'max_storage_count': 'int',
+ 'available_data_storage_per_server_in_tbs': 'float',
+ 'available_memory_per_node_in_gbs': 'int',
+ 'available_db_node_per_node_in_gbs': 'int',
'min_core_count_per_node': 'int',
'available_memory_in_gbs': 'int',
'min_memory_per_node_in_g_bs': 'int',
@@ -115,6 +140,11 @@ def __init__(self, **kwargs):
'available_core_count': 'availableCoreCount',
'minimum_core_count': 'minimumCoreCount',
'core_count_increment': 'coreCountIncrement',
+ 'min_storage_count': 'minStorageCount',
+ 'max_storage_count': 'maxStorageCount',
+ 'available_data_storage_per_server_in_tbs': 'availableDataStoragePerServerInTBs',
+ 'available_memory_per_node_in_gbs': 'availableMemoryPerNodeInGBs',
+ 'available_db_node_per_node_in_gbs': 'availableDbNodePerNodeInGBs',
'min_core_count_per_node': 'minCoreCountPerNode',
'available_memory_in_gbs': 'availableMemoryInGBs',
'min_memory_per_node_in_g_bs': 'minMemoryPerNodeInGBs',
@@ -133,6 +163,11 @@ def __init__(self, **kwargs):
self._available_core_count = None
self._minimum_core_count = None
self._core_count_increment = None
+ self._min_storage_count = None
+ self._max_storage_count = None
+ self._available_data_storage_per_server_in_tbs = None
+ self._available_memory_per_node_in_gbs = None
+ self._available_db_node_per_node_in_gbs = None
self._min_core_count_per_node = None
self._available_memory_in_gbs = None
self._min_memory_per_node_in_g_bs = None
@@ -288,6 +323,126 @@ def core_count_increment(self, core_count_increment):
"""
self._core_count_increment = core_count_increment
+ @property
+ def min_storage_count(self):
+ """
+ Gets the min_storage_count of this DbSystemShapeSummary.
+ The minimum number of Exadata storage servers available for the Exadata infrastructure.
+
+
+ :return: The min_storage_count of this DbSystemShapeSummary.
+ :rtype: int
+ """
+ return self._min_storage_count
+
+ @min_storage_count.setter
+ def min_storage_count(self, min_storage_count):
+ """
+ Sets the min_storage_count of this DbSystemShapeSummary.
+ The minimum number of Exadata storage servers available for the Exadata infrastructure.
+
+
+ :param min_storage_count: The min_storage_count of this DbSystemShapeSummary.
+ :type: int
+ """
+ self._min_storage_count = min_storage_count
+
+ @property
+ def max_storage_count(self):
+ """
+ Gets the max_storage_count of this DbSystemShapeSummary.
+ The maximum number of Exadata storage servers available for the Exadata infrastructure.
+
+
+ :return: The max_storage_count of this DbSystemShapeSummary.
+ :rtype: int
+ """
+ return self._max_storage_count
+
+ @max_storage_count.setter
+ def max_storage_count(self, max_storage_count):
+ """
+ Sets the max_storage_count of this DbSystemShapeSummary.
+ The maximum number of Exadata storage servers available for the Exadata infrastructure.
+
+
+ :param max_storage_count: The max_storage_count of this DbSystemShapeSummary.
+ :type: int
+ """
+ self._max_storage_count = max_storage_count
+
+ @property
+ def available_data_storage_per_server_in_tbs(self):
+ """
+ Gets the available_data_storage_per_server_in_tbs of this DbSystemShapeSummary.
+ The maximum data storage available per storage server for this shape. Only applicable to ExaCC Elastic shapes.
+
+
+ :return: The available_data_storage_per_server_in_tbs of this DbSystemShapeSummary.
+ :rtype: float
+ """
+ return self._available_data_storage_per_server_in_tbs
+
+ @available_data_storage_per_server_in_tbs.setter
+ def available_data_storage_per_server_in_tbs(self, available_data_storage_per_server_in_tbs):
+ """
+ Sets the available_data_storage_per_server_in_tbs of this DbSystemShapeSummary.
+ The maximum data storage available per storage server for this shape. Only applicable to ExaCC Elastic shapes.
+
+
+ :param available_data_storage_per_server_in_tbs: The available_data_storage_per_server_in_tbs of this DbSystemShapeSummary.
+ :type: float
+ """
+ self._available_data_storage_per_server_in_tbs = available_data_storage_per_server_in_tbs
+
+ @property
+ def available_memory_per_node_in_gbs(self):
+ """
+ Gets the available_memory_per_node_in_gbs of this DbSystemShapeSummary.
+ The maximum memory available per database node for this shape. Only applicable to ExaCC Elastic shapes.
+
+
+ :return: The available_memory_per_node_in_gbs of this DbSystemShapeSummary.
+ :rtype: int
+ """
+ return self._available_memory_per_node_in_gbs
+
+ @available_memory_per_node_in_gbs.setter
+ def available_memory_per_node_in_gbs(self, available_memory_per_node_in_gbs):
+ """
+ Sets the available_memory_per_node_in_gbs of this DbSystemShapeSummary.
+ The maximum memory available per database node for this shape. Only applicable to ExaCC Elastic shapes.
+
+
+ :param available_memory_per_node_in_gbs: The available_memory_per_node_in_gbs of this DbSystemShapeSummary.
+ :type: int
+ """
+ self._available_memory_per_node_in_gbs = available_memory_per_node_in_gbs
+
+ @property
+ def available_db_node_per_node_in_gbs(self):
+ """
+ Gets the available_db_node_per_node_in_gbs of this DbSystemShapeSummary.
+ The maximum Db Node storage available per database node for this shape. Only applicable to ExaCC Elastic shapes.
+
+
+ :return: The available_db_node_per_node_in_gbs of this DbSystemShapeSummary.
+ :rtype: int
+ """
+ return self._available_db_node_per_node_in_gbs
+
+ @available_db_node_per_node_in_gbs.setter
+ def available_db_node_per_node_in_gbs(self, available_db_node_per_node_in_gbs):
+ """
+ Sets the available_db_node_per_node_in_gbs of this DbSystemShapeSummary.
+ The maximum Db Node storage available per database node for this shape. Only applicable to ExaCC Elastic shapes.
+
+
+ :param available_db_node_per_node_in_gbs: The available_db_node_per_node_in_gbs of this DbSystemShapeSummary.
+ :type: int
+ """
+ self._available_db_node_per_node_in_gbs = available_db_node_per_node_in_gbs
+
@property
def min_core_count_per_node(self):
"""
@@ -508,7 +663,7 @@ def maximum_node_count(self, maximum_node_count):
def available_core_count_per_node(self):
"""
Gets the available_core_count_per_node of this DbSystemShapeSummary.
- The maximum number of CPU cores per database node that can be enabled for this shape. Only applicable to the flex Exadata shape. Does not apply to X6, X7, and X8 fixed-shape systems.
+ The maximum number of CPU cores per database node that can be enabled for this shape. Only applicable to the flex Exadata shape and ExaCC Elastic shapes.
:return: The available_core_count_per_node of this DbSystemShapeSummary.
@@ -520,7 +675,7 @@ def available_core_count_per_node(self):
def available_core_count_per_node(self, available_core_count_per_node):
"""
Sets the available_core_count_per_node of this DbSystemShapeSummary.
- The maximum number of CPU cores per database node that can be enabled for this shape. Only applicable to the flex Exadata shape. Does not apply to X6, X7, and X8 fixed-shape systems.
+ The maximum number of CPU cores per database node that can be enabled for this shape. Only applicable to the flex Exadata shape and ExaCC Elastic shapes.
:param available_core_count_per_node: The available_core_count_per_node of this DbSystemShapeSummary.
diff --git a/src/oci/database/models/exadata_infrastructure.py b/src/oci/database/models/exadata_infrastructure.py
index 9b56880f60..f6703521f2 100644
--- a/src/oci/database/models/exadata_infrastructure.py
+++ b/src/oci/database/models/exadata_infrastructure.py
@@ -128,6 +128,22 @@ def __init__(self, **kwargs):
The value to assign to the max_data_storage_in_t_bs property of this ExadataInfrastructure.
:type max_data_storage_in_t_bs: float
+ :param storage_count:
+ The value to assign to the storage_count property of this ExadataInfrastructure.
+ :type storage_count: int
+
+ :param additional_storage_count:
+ The value to assign to the additional_storage_count property of this ExadataInfrastructure.
+ :type additional_storage_count: int
+
+ :param activated_storage_count:
+ The value to assign to the activated_storage_count property of this ExadataInfrastructure.
+ :type activated_storage_count: int
+
+ :param compute_count:
+ The value to assign to the compute_count property of this ExadataInfrastructure.
+ :type compute_count: int
+
:param cloud_control_plane_server1:
The value to assign to the cloud_control_plane_server1 property of this ExadataInfrastructure.
:type cloud_control_plane_server1: str
@@ -222,6 +238,10 @@ def __init__(self, **kwargs):
'max_db_node_storage_in_g_bs': 'int',
'data_storage_size_in_tbs': 'float',
'max_data_storage_in_t_bs': 'float',
+ 'storage_count': 'int',
+ 'additional_storage_count': 'int',
+ 'activated_storage_count': 'int',
+ 'compute_count': 'int',
'cloud_control_plane_server1': 'str',
'cloud_control_plane_server2': 'str',
'netmask': 'str',
@@ -258,6 +278,10 @@ def __init__(self, **kwargs):
'max_db_node_storage_in_g_bs': 'maxDbNodeStorageInGBs',
'data_storage_size_in_tbs': 'dataStorageSizeInTBs',
'max_data_storage_in_t_bs': 'maxDataStorageInTBs',
+ 'storage_count': 'storageCount',
+ 'additional_storage_count': 'additionalStorageCount',
+ 'activated_storage_count': 'activatedStorageCount',
+ 'compute_count': 'computeCount',
'cloud_control_plane_server1': 'cloudControlPlaneServer1',
'cloud_control_plane_server2': 'cloudControlPlaneServer2',
'netmask': 'netmask',
@@ -293,6 +317,10 @@ def __init__(self, **kwargs):
self._max_db_node_storage_in_g_bs = None
self._data_storage_size_in_tbs = None
self._max_data_storage_in_t_bs = None
+ self._storage_count = None
+ self._additional_storage_count = None
+ self._activated_storage_count = None
+ self._compute_count = None
self._cloud_control_plane_server1 = None
self._cloud_control_plane_server2 = None
self._netmask = None
@@ -667,6 +695,102 @@ def max_data_storage_in_t_bs(self, max_data_storage_in_t_bs):
"""
self._max_data_storage_in_t_bs = max_data_storage_in_t_bs
+ @property
+ def storage_count(self):
+ """
+ Gets the storage_count of this ExadataInfrastructure.
+ The number of Exadata storage servers for the Exadata infrastructure.
+
+
+ :return: The storage_count of this ExadataInfrastructure.
+ :rtype: int
+ """
+ return self._storage_count
+
+ @storage_count.setter
+ def storage_count(self, storage_count):
+ """
+ Sets the storage_count of this ExadataInfrastructure.
+ The number of Exadata storage servers for the Exadata infrastructure.
+
+
+ :param storage_count: The storage_count of this ExadataInfrastructure.
+ :type: int
+ """
+ self._storage_count = storage_count
+
+ @property
+ def additional_storage_count(self):
+ """
+ Gets the additional_storage_count of this ExadataInfrastructure.
+ The requested number of additional storage servers for the Exadata infrastructure.
+
+
+ :return: The additional_storage_count of this ExadataInfrastructure.
+ :rtype: int
+ """
+ return self._additional_storage_count
+
+ @additional_storage_count.setter
+ def additional_storage_count(self, additional_storage_count):
+ """
+ Sets the additional_storage_count of this ExadataInfrastructure.
+ The requested number of additional storage servers for the Exadata infrastructure.
+
+
+ :param additional_storage_count: The additional_storage_count of this ExadataInfrastructure.
+ :type: int
+ """
+ self._additional_storage_count = additional_storage_count
+
+ @property
+ def activated_storage_count(self):
+ """
+ Gets the activated_storage_count of this ExadataInfrastructure.
+ The requested number of additional storage servers activated for the Exadata infrastructure.
+
+
+ :return: The activated_storage_count of this ExadataInfrastructure.
+ :rtype: int
+ """
+ return self._activated_storage_count
+
+ @activated_storage_count.setter
+ def activated_storage_count(self, activated_storage_count):
+ """
+ Sets the activated_storage_count of this ExadataInfrastructure.
+ The requested number of additional storage servers activated for the Exadata infrastructure.
+
+
+ :param activated_storage_count: The activated_storage_count of this ExadataInfrastructure.
+ :type: int
+ """
+ self._activated_storage_count = activated_storage_count
+
+ @property
+ def compute_count(self):
+ """
+ Gets the compute_count of this ExadataInfrastructure.
+ The number of compute servers for the Exadata infrastructure.
+
+
+ :return: The compute_count of this ExadataInfrastructure.
+ :rtype: int
+ """
+ return self._compute_count
+
+ @compute_count.setter
+ def compute_count(self, compute_count):
+ """
+ Sets the compute_count of this ExadataInfrastructure.
+ The number of compute servers for the Exadata infrastructure.
+
+
+ :param compute_count: The compute_count of this ExadataInfrastructure.
+ :type: int
+ """
+ self._compute_count = compute_count
+
@property
def cloud_control_plane_server1(self):
"""
diff --git a/src/oci/database/models/exadata_infrastructure_summary.py b/src/oci/database/models/exadata_infrastructure_summary.py
index 718d8f12ef..c43ef36247 100644
--- a/src/oci/database/models/exadata_infrastructure_summary.py
+++ b/src/oci/database/models/exadata_infrastructure_summary.py
@@ -129,6 +129,22 @@ def __init__(self, **kwargs):
The value to assign to the max_data_storage_in_t_bs property of this ExadataInfrastructureSummary.
:type max_data_storage_in_t_bs: float
+ :param storage_count:
+ The value to assign to the storage_count property of this ExadataInfrastructureSummary.
+ :type storage_count: int
+
+ :param additional_storage_count:
+ The value to assign to the additional_storage_count property of this ExadataInfrastructureSummary.
+ :type additional_storage_count: int
+
+ :param activated_storage_count:
+ The value to assign to the activated_storage_count property of this ExadataInfrastructureSummary.
+ :type activated_storage_count: int
+
+ :param compute_count:
+ The value to assign to the compute_count property of this ExadataInfrastructureSummary.
+ :type compute_count: int
+
:param cloud_control_plane_server1:
The value to assign to the cloud_control_plane_server1 property of this ExadataInfrastructureSummary.
:type cloud_control_plane_server1: str
@@ -223,6 +239,10 @@ def __init__(self, **kwargs):
'max_db_node_storage_in_g_bs': 'int',
'data_storage_size_in_tbs': 'float',
'max_data_storage_in_t_bs': 'float',
+ 'storage_count': 'int',
+ 'additional_storage_count': 'int',
+ 'activated_storage_count': 'int',
+ 'compute_count': 'int',
'cloud_control_plane_server1': 'str',
'cloud_control_plane_server2': 'str',
'netmask': 'str',
@@ -259,6 +279,10 @@ def __init__(self, **kwargs):
'max_db_node_storage_in_g_bs': 'maxDbNodeStorageInGBs',
'data_storage_size_in_tbs': 'dataStorageSizeInTBs',
'max_data_storage_in_t_bs': 'maxDataStorageInTBs',
+ 'storage_count': 'storageCount',
+ 'additional_storage_count': 'additionalStorageCount',
+ 'activated_storage_count': 'activatedStorageCount',
+ 'compute_count': 'computeCount',
'cloud_control_plane_server1': 'cloudControlPlaneServer1',
'cloud_control_plane_server2': 'cloudControlPlaneServer2',
'netmask': 'netmask',
@@ -294,6 +318,10 @@ def __init__(self, **kwargs):
self._max_db_node_storage_in_g_bs = None
self._data_storage_size_in_tbs = None
self._max_data_storage_in_t_bs = None
+ self._storage_count = None
+ self._additional_storage_count = None
+ self._activated_storage_count = None
+ self._compute_count = None
self._cloud_control_plane_server1 = None
self._cloud_control_plane_server2 = None
self._netmask = None
@@ -668,6 +696,102 @@ def max_data_storage_in_t_bs(self, max_data_storage_in_t_bs):
"""
self._max_data_storage_in_t_bs = max_data_storage_in_t_bs
+ @property
+ def storage_count(self):
+ """
+ Gets the storage_count of this ExadataInfrastructureSummary.
+ The number of Exadata storage servers for the Exadata infrastructure.
+
+
+ :return: The storage_count of this ExadataInfrastructureSummary.
+ :rtype: int
+ """
+ return self._storage_count
+
+ @storage_count.setter
+ def storage_count(self, storage_count):
+ """
+ Sets the storage_count of this ExadataInfrastructureSummary.
+ The number of Exadata storage servers for the Exadata infrastructure.
+
+
+ :param storage_count: The storage_count of this ExadataInfrastructureSummary.
+ :type: int
+ """
+ self._storage_count = storage_count
+
+ @property
+ def additional_storage_count(self):
+ """
+ Gets the additional_storage_count of this ExadataInfrastructureSummary.
+ The requested number of additional storage servers for the Exadata infrastructure.
+
+
+ :return: The additional_storage_count of this ExadataInfrastructureSummary.
+ :rtype: int
+ """
+ return self._additional_storage_count
+
+ @additional_storage_count.setter
+ def additional_storage_count(self, additional_storage_count):
+ """
+ Sets the additional_storage_count of this ExadataInfrastructureSummary.
+ The requested number of additional storage servers for the Exadata infrastructure.
+
+
+ :param additional_storage_count: The additional_storage_count of this ExadataInfrastructureSummary.
+ :type: int
+ """
+ self._additional_storage_count = additional_storage_count
+
+ @property
+ def activated_storage_count(self):
+ """
+ Gets the activated_storage_count of this ExadataInfrastructureSummary.
+ The requested number of additional storage servers activated for the Exadata infrastructure.
+
+
+ :return: The activated_storage_count of this ExadataInfrastructureSummary.
+ :rtype: int
+ """
+ return self._activated_storage_count
+
+ @activated_storage_count.setter
+ def activated_storage_count(self, activated_storage_count):
+ """
+ Sets the activated_storage_count of this ExadataInfrastructureSummary.
+ The requested number of additional storage servers activated for the Exadata infrastructure.
+
+
+ :param activated_storage_count: The activated_storage_count of this ExadataInfrastructureSummary.
+ :type: int
+ """
+ self._activated_storage_count = activated_storage_count
+
+ @property
+ def compute_count(self):
+ """
+ Gets the compute_count of this ExadataInfrastructureSummary.
+ The number of compute servers for the Exadata infrastructure.
+
+
+ :return: The compute_count of this ExadataInfrastructureSummary.
+ :rtype: int
+ """
+ return self._compute_count
+
+ @compute_count.setter
+ def compute_count(self, compute_count):
+ """
+ Sets the compute_count of this ExadataInfrastructureSummary.
+ The number of compute servers for the Exadata infrastructure.
+
+
+ :param compute_count: The compute_count of this ExadataInfrastructureSummary.
+ :type: int
+ """
+ self._compute_count = compute_count
+
@property
def cloud_control_plane_server1(self):
"""
diff --git a/src/oci/database/models/update_exadata_infrastructure_details.py b/src/oci/database/models/update_exadata_infrastructure_details.py
index fe2a00b90e..1148af7cfc 100644
--- a/src/oci/database/models/update_exadata_infrastructure_details.py
+++ b/src/oci/database/models/update_exadata_infrastructure_details.py
@@ -55,6 +55,10 @@ def __init__(self, **kwargs):
The value to assign to the maintenance_window property of this UpdateExadataInfrastructureDetails.
:type maintenance_window: oci.database.models.MaintenanceWindow
+ :param additional_storage_count:
+ The value to assign to the additional_storage_count property of this UpdateExadataInfrastructureDetails.
+ :type additional_storage_count: int
+
:param dns_server:
The value to assign to the dns_server property of this UpdateExadataInfrastructureDetails.
:type dns_server: list[str]
@@ -86,6 +90,7 @@ def __init__(self, **kwargs):
'corporate_proxy': 'str',
'contacts': 'list[ExadataInfrastructureContact]',
'maintenance_window': 'MaintenanceWindow',
+ 'additional_storage_count': 'int',
'dns_server': 'list[str]',
'ntp_server': 'list[str]',
'time_zone': 'str',
@@ -103,6 +108,7 @@ def __init__(self, **kwargs):
'corporate_proxy': 'corporateProxy',
'contacts': 'contacts',
'maintenance_window': 'maintenanceWindow',
+ 'additional_storage_count': 'additionalStorageCount',
'dns_server': 'dnsServer',
'ntp_server': 'ntpServer',
'time_zone': 'timeZone',
@@ -119,6 +125,7 @@ def __init__(self, **kwargs):
self._corporate_proxy = None
self._contacts = None
self._maintenance_window = None
+ self._additional_storage_count = None
self._dns_server = None
self._ntp_server = None
self._time_zone = None
@@ -337,6 +344,30 @@ def maintenance_window(self, maintenance_window):
"""
self._maintenance_window = maintenance_window
+ @property
+ def additional_storage_count(self):
+ """
+ Gets the additional_storage_count of this UpdateExadataInfrastructureDetails.
+ The requested number of additional storage servers for the Exadata infrastructure.
+
+
+ :return: The additional_storage_count of this UpdateExadataInfrastructureDetails.
+ :rtype: int
+ """
+ return self._additional_storage_count
+
+ @additional_storage_count.setter
+ def additional_storage_count(self, additional_storage_count):
+ """
+ Sets the additional_storage_count of this UpdateExadataInfrastructureDetails.
+ The requested number of additional storage servers for the Exadata infrastructure.
+
+
+ :param additional_storage_count: The additional_storage_count of this UpdateExadataInfrastructureDetails.
+ :type: int
+ """
+ self._additional_storage_count = additional_storage_count
+
@property
def dns_server(self):
"""
diff --git a/src/oci/management_dashboard/dashx_apis_client.py b/src/oci/management_dashboard/dashx_apis_client.py
index d0110c9e03..3fe273314c 100644
--- a/src/oci/management_dashboard/dashx_apis_client.py
+++ b/src/oci/management_dashboard/dashx_apis_client.py
@@ -284,7 +284,11 @@ def change_management_saved_searches_compartment(self, management_saved_search_i
def create_management_dashboard(self, create_management_dashboard_details, **kwargs):
"""
- Creates a new dashboard. Limit for number of saved searches in a dashboard is 20.
+ Creates a new dashboard. Limit for number of saved searches in a dashboard is 20. To get an example of what needs to be passed to CREATE, one can use GET API.
+ oci management-dashboard dashboard get --management-dashboard-id \"ocid1.managementdashboard.oc1..dashboardId1\" --query data > Create.json
+
+ Modify the Create.json by removing \"id\" attribute and other desired changes, then do
+ oci management-dashboard dashboard create --from-json file://Create.json
:param oci.management_dashboard.models.CreateManagementDashboardDetails create_management_dashboard_details: (required)
@@ -360,7 +364,11 @@ def create_management_dashboard(self, create_management_dashboard_details, **kwa
def create_management_saved_search(self, create_management_saved_search_details, **kwargs):
"""
- Creates a new saved search.
+ Creates a new saved search. To get an example of what needs to be passed to CREATE, one can use GET API.
+ oci management-dashboard saved-search get --management-saved-search-id ocid1.managementsavedsearch.oc1..savedsearchId1 --query data > Create.json
+
+ Modify the Create.json by removing \"id\" attribute and other desired changes, then do
+ oci management-dashboard saved-search create --from-json file://Create.json
:param oci.management_dashboard.models.CreateManagementSavedSearchDetails create_management_saved_search_details: (required)
@@ -600,11 +608,11 @@ def delete_management_saved_search(self, management_saved_search_id, **kwargs):
def export_dashboard(self, export_dashboard_id, **kwargs):
"""
- Exports an array of dashboards and their saved searches.
+ Exports an array of dashboards and their saved searches. Export is designed to work with importDashboard. An example using OCI CLI is $oci management-dashboard dashboard export --query data --export-dashboard-id \"{\\\"dashboardIds\\\":[\\\"ocid1.managementdashboard.oc1..dashboardId1\\\"]}\" > dashboards.json $oci management-dashboard dashboard import --from-json file://dashboards.json
:param str export_dashboard_id: (required)
- {\"dashboardIds\":[\"dashboardId1\", \"dashboardId2\", ...]}
+ List of dashboardIds in plain text. The syntaxt is '{\"dashboardIds\":[\"dashboardId1\", \"dashboardId2\", ...]}'. Escaping is needed when using in OCI CLI. For example, \"{\\\"dashboardIds\\\":[\\\"ocid1.managementdashboard.oc1..dashboardId1\\\"]}\" .
:param str opc_retry_token: (optional)
A token that uniquely identifies a request so it can be retried in case of a timeout or
@@ -858,7 +866,9 @@ def get_management_saved_search(self, management_saved_search_id, **kwargs):
def import_dashboard(self, management_dashboard_import_details, **kwargs):
"""
- Imports an array of dashboards and their saved searches.
+ Imports an array of dashboards and their saved searches. Import is designed to work with exportDashboard. An example using OCI CLI is
+ $oci management-dashboard dashboard export --query data --export-dashboard-id \"{\\\"dashboardIds\\\":[\\\"ocid1.managementdashboard.oc1..dashboardId1\\\"]}\" > dashboards.json
+ $oci management-dashboard dashboard import --from-json file://dashboards.json
:param oci.management_dashboard.models.ManagementDashboardImportDetails management_dashboard_import_details: (required)
@@ -941,7 +951,7 @@ def import_dashboard(self, management_dashboard_import_details, **kwargs):
def list_management_dashboards(self, compartment_id, **kwargs):
"""
- Gets the list of dashboards and their saved searches in a compartment with pagination. Returned properties are the summary.
+ Gets the list of dashboards in a compartment with pagination. Returned properties are the summary.
:param str compartment_id: (required)
diff --git a/src/oci/management_dashboard/dashx_apis_client_composite_operations.py b/src/oci/management_dashboard/dashx_apis_client_composite_operations.py
index d3964ca015..43c670092d 100644
--- a/src/oci/management_dashboard/dashx_apis_client_composite_operations.py
+++ b/src/oci/management_dashboard/dashx_apis_client_composite_operations.py
@@ -22,3 +22,255 @@ def __init__(self, client, **kwargs):
The service client which will be wrapped by this object
"""
self.client = client
+
+ def create_management_dashboard_and_wait_for_state(self, create_management_dashboard_details, wait_for_states=[], operation_kwargs={}, waiter_kwargs={}):
+ """
+ Calls :py:func:`~oci.management_dashboard.DashxApisClient.create_management_dashboard` and waits for the :py:class:`~oci.management_dashboard.models.ManagementDashboard` acted upon
+ to enter the given state(s).
+
+ :param oci.management_dashboard.models.CreateManagementDashboardDetails create_management_dashboard_details: (required)
+ JSON metadata for creating a new dashboard.
+
+ :param list[str] wait_for_states:
+ An array of states to wait on. These should be valid values for :py:attr:`~oci.management_dashboard.models.ManagementDashboard.lifecycle_state`
+
+ :param dict operation_kwargs:
+ A dictionary of keyword arguments to pass to :py:func:`~oci.management_dashboard.DashxApisClient.create_management_dashboard`
+
+ :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_management_dashboard(create_management_dashboard_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_management_dashboard(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_management_saved_search_and_wait_for_state(self, create_management_saved_search_details, wait_for_states=[], operation_kwargs={}, waiter_kwargs={}):
+ """
+ Calls :py:func:`~oci.management_dashboard.DashxApisClient.create_management_saved_search` and waits for the :py:class:`~oci.management_dashboard.models.ManagementSavedSearch` acted upon
+ to enter the given state(s).
+
+ :param oci.management_dashboard.models.CreateManagementSavedSearchDetails create_management_saved_search_details: (required)
+ JSON metadata for the saved search.
+
+ :param list[str] wait_for_states:
+ An array of states to wait on. These should be valid values for :py:attr:`~oci.management_dashboard.models.ManagementSavedSearch.lifecycle_state`
+
+ :param dict operation_kwargs:
+ A dictionary of keyword arguments to pass to :py:func:`~oci.management_dashboard.DashxApisClient.create_management_saved_search`
+
+ :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_management_saved_search(create_management_saved_search_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_management_saved_search(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 delete_management_dashboard_and_wait_for_state(self, management_dashboard_id, wait_for_states=[], operation_kwargs={}, waiter_kwargs={}):
+ """
+ Calls :py:func:`~oci.management_dashboard.DashxApisClient.delete_management_dashboard` and waits for the :py:class:`~oci.management_dashboard.models.ManagementDashboard` acted upon
+ to enter the given state(s).
+
+ :param str management_dashboard_id: (required)
+ A unique dashboard identifier.
+
+ :param list[str] wait_for_states:
+ An array of states to wait on. These should be valid values for :py:attr:`~oci.management_dashboard.models.ManagementDashboard.lifecycle_state`
+
+ :param dict operation_kwargs:
+ A dictionary of keyword arguments to pass to :py:func:`~oci.management_dashboard.DashxApisClient.delete_management_dashboard`
+
+ :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_management_dashboard(management_dashboard_id)
+ operation_result = None
+ try:
+ operation_result = self.client.delete_management_dashboard(management_dashboard_id, **operation_kwargs)
+ except oci.exceptions.ServiceError as e:
+ if e.status == 404:
+ return WAIT_RESOURCE_NOT_FOUND
+ else:
+ raise e
+
+ 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_management_saved_search_and_wait_for_state(self, management_saved_search_id, wait_for_states=[], operation_kwargs={}, waiter_kwargs={}):
+ """
+ Calls :py:func:`~oci.management_dashboard.DashxApisClient.delete_management_saved_search` and waits for the :py:class:`~oci.management_dashboard.models.ManagementSavedSearch` acted upon
+ to enter the given state(s).
+
+ :param str management_saved_search_id: (required)
+ A unique saved search identifier.
+
+ :param list[str] wait_for_states:
+ An array of states to wait on. These should be valid values for :py:attr:`~oci.management_dashboard.models.ManagementSavedSearch.lifecycle_state`
+
+ :param dict operation_kwargs:
+ A dictionary of keyword arguments to pass to :py:func:`~oci.management_dashboard.DashxApisClient.delete_management_saved_search`
+
+ :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_management_saved_search(management_saved_search_id)
+ operation_result = None
+ try:
+ operation_result = self.client.delete_management_saved_search(management_saved_search_id, **operation_kwargs)
+ except oci.exceptions.ServiceError as e:
+ if e.status == 404:
+ return WAIT_RESOURCE_NOT_FOUND
+ else:
+ raise e
+
+ 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 update_management_dashboard_and_wait_for_state(self, management_dashboard_id, update_management_dashboard_details, wait_for_states=[], operation_kwargs={}, waiter_kwargs={}):
+ """
+ Calls :py:func:`~oci.management_dashboard.DashxApisClient.update_management_dashboard` and waits for the :py:class:`~oci.management_dashboard.models.ManagementDashboard` acted upon
+ to enter the given state(s).
+
+ :param str management_dashboard_id: (required)
+ A unique dashboard identifier.
+
+ :param oci.management_dashboard.models.UpdateManagementDashboardDetails update_management_dashboard_details: (required)
+ JSON metadata for changed dashboard properties.
+
+ :param list[str] wait_for_states:
+ An array of states to wait on. These should be valid values for :py:attr:`~oci.management_dashboard.models.ManagementDashboard.lifecycle_state`
+
+ :param dict operation_kwargs:
+ A dictionary of keyword arguments to pass to :py:func:`~oci.management_dashboard.DashxApisClient.update_management_dashboard`
+
+ :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_management_dashboard(management_dashboard_id, update_management_dashboard_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_management_dashboard(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_management_saved_search_and_wait_for_state(self, management_saved_search_id, update_management_saved_search_details, wait_for_states=[], operation_kwargs={}, waiter_kwargs={}):
+ """
+ Calls :py:func:`~oci.management_dashboard.DashxApisClient.update_management_saved_search` and waits for the :py:class:`~oci.management_dashboard.models.ManagementSavedSearch` acted upon
+ to enter the given state(s).
+
+ :param str management_saved_search_id: (required)
+ A unique saved search identifier.
+
+ :param oci.management_dashboard.models.UpdateManagementSavedSearchDetails update_management_saved_search_details: (required)
+ JSON metadata for changed saved search properties.
+
+ :param list[str] wait_for_states:
+ An array of states to wait on. These should be valid values for :py:attr:`~oci.management_dashboard.models.ManagementSavedSearch.lifecycle_state`
+
+ :param dict operation_kwargs:
+ A dictionary of keyword arguments to pass to :py:func:`~oci.management_dashboard.DashxApisClient.update_management_saved_search`
+
+ :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_management_saved_search(management_saved_search_id, update_management_saved_search_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_management_saved_search(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)
diff --git a/src/oci/management_dashboard/models/create_management_dashboard_details.py b/src/oci/management_dashboard/models/create_management_dashboard_details.py
index 5e5a26ba6c..34ea8f3d96 100644
--- a/src/oci/management_dashboard/models/create_management_dashboard_details.py
+++ b/src/oci/management_dashboard/models/create_management_dashboard_details.py
@@ -90,6 +90,10 @@ def __init__(self, **kwargs):
The value to assign to the is_favorite property of this CreateManagementDashboardDetails.
:type is_favorite: bool
+ :param parameters_config:
+ The value to assign to the parameters_config property of this CreateManagementDashboardDetails.
+ :type parameters_config: list[object]
+
:param freeform_tags:
The value to assign to the freeform_tags property of this CreateManagementDashboardDetails.
:type freeform_tags: dict(str, str)
@@ -118,6 +122,7 @@ def __init__(self, **kwargs):
'data_config': 'list[object]',
'type': 'str',
'is_favorite': 'bool',
+ 'parameters_config': 'list[object]',
'freeform_tags': 'dict(str, str)',
'defined_tags': 'dict(str, dict(str, object))'
}
@@ -141,6 +146,7 @@ def __init__(self, **kwargs):
'data_config': 'dataConfig',
'type': 'type',
'is_favorite': 'isFavorite',
+ 'parameters_config': 'parametersConfig',
'freeform_tags': 'freeformTags',
'defined_tags': 'definedTags'
}
@@ -163,6 +169,7 @@ def __init__(self, **kwargs):
self._data_config = None
self._type = None
self._is_favorite = None
+ self._parameters_config = None
self._freeform_tags = None
self._defined_tags = None
@@ -598,6 +605,30 @@ def is_favorite(self, is_favorite):
"""
self._is_favorite = is_favorite
+ @property
+ def parameters_config(self):
+ """
+ Gets the parameters_config of this CreateManagementDashboardDetails.
+ Defines parameters for the dashboard.
+
+
+ :return: The parameters_config of this CreateManagementDashboardDetails.
+ :rtype: list[object]
+ """
+ return self._parameters_config
+
+ @parameters_config.setter
+ def parameters_config(self, parameters_config):
+ """
+ Sets the parameters_config of this CreateManagementDashboardDetails.
+ Defines parameters for the dashboard.
+
+
+ :param parameters_config: The parameters_config of this CreateManagementDashboardDetails.
+ :type: list[object]
+ """
+ self._parameters_config = parameters_config
+
@property
def freeform_tags(self):
"""
diff --git a/src/oci/management_dashboard/models/create_management_saved_search_details.py b/src/oci/management_dashboard/models/create_management_saved_search_details.py
index 3ae9534a73..f828902e5f 100644
--- a/src/oci/management_dashboard/models/create_management_saved_search_details.py
+++ b/src/oci/management_dashboard/models/create_management_saved_search_details.py
@@ -99,6 +99,10 @@ def __init__(self, **kwargs):
The value to assign to the widget_vm property of this CreateManagementSavedSearchDetails.
:type widget_vm: str
+ :param parameters_config:
+ The value to assign to the parameters_config property of this CreateManagementSavedSearchDetails.
+ :type parameters_config: list[object]
+
:param freeform_tags:
The value to assign to the freeform_tags property of this CreateManagementSavedSearchDetails.
:type freeform_tags: dict(str, str)
@@ -125,6 +129,7 @@ def __init__(self, **kwargs):
'metadata_version': 'str',
'widget_template': 'str',
'widget_vm': 'str',
+ 'parameters_config': 'list[object]',
'freeform_tags': 'dict(str, str)',
'defined_tags': 'dict(str, dict(str, object))'
}
@@ -146,6 +151,7 @@ def __init__(self, **kwargs):
'metadata_version': 'metadataVersion',
'widget_template': 'widgetTemplate',
'widget_vm': 'widgetVM',
+ 'parameters_config': 'parametersConfig',
'freeform_tags': 'freeformTags',
'defined_tags': 'definedTags'
}
@@ -166,6 +172,7 @@ def __init__(self, **kwargs):
self._metadata_version = None
self._widget_template = None
self._widget_vm = None
+ self._parameters_config = None
self._freeform_tags = None
self._defined_tags = None
@@ -561,6 +568,30 @@ def widget_vm(self, widget_vm):
"""
self._widget_vm = widget_vm
+ @property
+ def parameters_config(self):
+ """
+ Gets the parameters_config of this CreateManagementSavedSearchDetails.
+ Defines parameters for the saved search.
+
+
+ :return: The parameters_config of this CreateManagementSavedSearchDetails.
+ :rtype: list[object]
+ """
+ return self._parameters_config
+
+ @parameters_config.setter
+ def parameters_config(self, parameters_config):
+ """
+ Sets the parameters_config of this CreateManagementSavedSearchDetails.
+ Defines parameters for the saved search.
+
+
+ :param parameters_config: The parameters_config of this CreateManagementSavedSearchDetails.
+ :type: list[object]
+ """
+ self._parameters_config = parameters_config
+
@property
def freeform_tags(self):
"""
diff --git a/src/oci/management_dashboard/models/management_dashboard.py b/src/oci/management_dashboard/models/management_dashboard.py
index 5006d8d9c2..0b4345b643 100644
--- a/src/oci/management_dashboard/models/management_dashboard.py
+++ b/src/oci/management_dashboard/models/management_dashboard.py
@@ -13,6 +13,10 @@ class ManagementDashboard(object):
Properties of a dashboard, including dashboard ID.
"""
+ #: A constant which can be used with the lifecycle_state property of a ManagementDashboard.
+ #: This constant has a value of "ACTIVE"
+ LIFECYCLE_STATE_ACTIVE = "ACTIVE"
+
def __init__(self, **kwargs):
"""
Initializes a new ManagementDashboard object with values from keyword arguments.
@@ -22,6 +26,10 @@ def __init__(self, **kwargs):
The value to assign to the dashboard_id property of this ManagementDashboard.
:type dashboard_id: str
+ :param id:
+ The value to assign to the id property of this ManagementDashboard.
+ :type id: str
+
:param provider_id:
The value to assign to the provider_id property of this ManagementDashboard.
:type provider_id: str
@@ -110,6 +118,16 @@ def __init__(self, **kwargs):
The value to assign to the saved_searches property of this ManagementDashboard.
:type saved_searches: list[oci.management_dashboard.models.ManagementSavedSearch]
+ :param lifecycle_state:
+ The value to assign to the lifecycle_state property of this ManagementDashboard.
+ Allowed values for this property are: "ACTIVE", 'UNKNOWN_ENUM_VALUE'.
+ Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
+ :type lifecycle_state: str
+
+ :param parameters_config:
+ The value to assign to the parameters_config property of this ManagementDashboard.
+ :type parameters_config: list[object]
+
:param freeform_tags:
The value to assign to the freeform_tags property of this ManagementDashboard.
:type freeform_tags: dict(str, str)
@@ -121,6 +139,7 @@ def __init__(self, **kwargs):
"""
self.swagger_types = {
'dashboard_id': 'str',
+ 'id': 'str',
'provider_id': 'str',
'provider_name': 'str',
'provider_version': 'str',
@@ -143,12 +162,15 @@ def __init__(self, **kwargs):
'type': 'str',
'is_favorite': 'bool',
'saved_searches': 'list[ManagementSavedSearch]',
+ 'lifecycle_state': 'str',
+ 'parameters_config': 'list[object]',
'freeform_tags': 'dict(str, str)',
'defined_tags': 'dict(str, dict(str, object))'
}
self.attribute_map = {
'dashboard_id': 'dashboardId',
+ 'id': 'id',
'provider_id': 'providerId',
'provider_name': 'providerName',
'provider_version': 'providerVersion',
@@ -171,11 +193,14 @@ def __init__(self, **kwargs):
'type': 'type',
'is_favorite': 'isFavorite',
'saved_searches': 'savedSearches',
+ 'lifecycle_state': 'lifecycleState',
+ 'parameters_config': 'parametersConfig',
'freeform_tags': 'freeformTags',
'defined_tags': 'definedTags'
}
self._dashboard_id = None
+ self._id = None
self._provider_id = None
self._provider_name = None
self._provider_version = None
@@ -198,6 +223,8 @@ def __init__(self, **kwargs):
self._type = None
self._is_favorite = None
self._saved_searches = None
+ self._lifecycle_state = None
+ self._parameters_config = None
self._freeform_tags = None
self._defined_tags = None
@@ -205,7 +232,7 @@ def __init__(self, **kwargs):
def dashboard_id(self):
"""
**[Required]** Gets the dashboard_id of this ManagementDashboard.
- ID of the dashboard.
+ ID of the dashboard. Same as id.
:return: The dashboard_id of this ManagementDashboard.
@@ -217,7 +244,7 @@ def dashboard_id(self):
def dashboard_id(self, dashboard_id):
"""
Sets the dashboard_id of this ManagementDashboard.
- ID of the dashboard.
+ ID of the dashboard. Same as id.
:param dashboard_id: The dashboard_id of this ManagementDashboard.
@@ -225,6 +252,30 @@ def dashboard_id(self, dashboard_id):
"""
self._dashboard_id = dashboard_id
+ @property
+ def id(self):
+ """
+ **[Required]** Gets the id of this ManagementDashboard.
+ ID of the dashboard. Same as dashboardId.
+
+
+ :return: The id of this ManagementDashboard.
+ :rtype: str
+ """
+ return self._id
+
+ @id.setter
+ def id(self, id):
+ """
+ Sets the id of this ManagementDashboard.
+ ID of the dashboard. Same as dashboardId.
+
+
+ :param id: The id of this ManagementDashboard.
+ :type: str
+ """
+ self._id = id
+
@property
def provider_id(self):
"""
@@ -753,6 +804,60 @@ def saved_searches(self, saved_searches):
"""
self._saved_searches = saved_searches
+ @property
+ def lifecycle_state(self):
+ """
+ **[Required]** Gets the lifecycle_state of this ManagementDashboard.
+ State of dashboard.
+
+ Allowed values for this property are: "ACTIVE", 'UNKNOWN_ENUM_VALUE'.
+ Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
+
+
+ :return: The lifecycle_state of this ManagementDashboard.
+ :rtype: str
+ """
+ return self._lifecycle_state
+
+ @lifecycle_state.setter
+ def lifecycle_state(self, lifecycle_state):
+ """
+ Sets the lifecycle_state of this ManagementDashboard.
+ State of dashboard.
+
+
+ :param lifecycle_state: The lifecycle_state of this ManagementDashboard.
+ :type: str
+ """
+ allowed_values = ["ACTIVE"]
+ if not value_allowed_none_or_none_sentinel(lifecycle_state, allowed_values):
+ lifecycle_state = 'UNKNOWN_ENUM_VALUE'
+ self._lifecycle_state = lifecycle_state
+
+ @property
+ def parameters_config(self):
+ """
+ Gets the parameters_config of this ManagementDashboard.
+ Defines parameters for the dashboard.
+
+
+ :return: The parameters_config of this ManagementDashboard.
+ :rtype: list[object]
+ """
+ return self._parameters_config
+
+ @parameters_config.setter
+ def parameters_config(self, parameters_config):
+ """
+ Sets the parameters_config of this ManagementDashboard.
+ Defines parameters for the dashboard.
+
+
+ :param parameters_config: The parameters_config of this ManagementDashboard.
+ :type: list[object]
+ """
+ self._parameters_config = parameters_config
+
@property
def freeform_tags(self):
"""
diff --git a/src/oci/management_dashboard/models/management_dashboard_export_details.py b/src/oci/management_dashboard/models/management_dashboard_export_details.py
index 2a1a853955..7db55fcccc 100644
--- a/src/oci/management_dashboard/models/management_dashboard_export_details.py
+++ b/src/oci/management_dashboard/models/management_dashboard_export_details.py
@@ -22,30 +22,16 @@ def __init__(self, **kwargs):
The value to assign to the dashboards property of this ManagementDashboardExportDetails.
:type dashboards: list[oci.management_dashboard.models.ManagementDashboardForImportExportDetails]
- :param freeform_tags:
- The value to assign to the freeform_tags property of this ManagementDashboardExportDetails.
- :type freeform_tags: dict(str, str)
-
- :param defined_tags:
- The value to assign to the defined_tags property of this ManagementDashboardExportDetails.
- :type defined_tags: dict(str, dict(str, object))
-
"""
self.swagger_types = {
- 'dashboards': 'list[ManagementDashboardForImportExportDetails]',
- 'freeform_tags': 'dict(str, str)',
- 'defined_tags': 'dict(str, dict(str, object))'
+ 'dashboards': 'list[ManagementDashboardForImportExportDetails]'
}
self.attribute_map = {
- 'dashboards': 'dashboards',
- 'freeform_tags': 'freeformTags',
- 'defined_tags': 'definedTags'
+ 'dashboards': 'dashboards'
}
self._dashboards = None
- self._freeform_tags = None
- self._defined_tags = None
@property
def dashboards(self):
@@ -71,58 +57,6 @@ def dashboards(self, dashboards):
"""
self._dashboards = dashboards
- @property
- def freeform_tags(self):
- """
- Gets the freeform_tags of this ManagementDashboardExportDetails.
- 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 ManagementDashboardExportDetails.
- :rtype: dict(str, str)
- """
- return self._freeform_tags
-
- @freeform_tags.setter
- def freeform_tags(self, freeform_tags):
- """
- Sets the freeform_tags of this ManagementDashboardExportDetails.
- 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 ManagementDashboardExportDetails.
- :type: dict(str, str)
- """
- self._freeform_tags = freeform_tags
-
- @property
- def defined_tags(self):
- """
- Gets the defined_tags of this ManagementDashboardExportDetails.
- Defined tags for this resource. Each key is predefined and scoped to a namespace.
- Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`
-
-
- :return: The defined_tags of this ManagementDashboardExportDetails.
- :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 ManagementDashboardExportDetails.
- Defined tags for this resource. Each key is predefined and scoped to a namespace.
- Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`
-
-
- :param defined_tags: The defined_tags of this ManagementDashboardExportDetails.
- :type: dict(str, dict(str, object))
- """
- self._defined_tags = defined_tags
-
def __repr__(self):
return formatted_flat_dict(self)
diff --git a/src/oci/management_dashboard/models/management_dashboard_for_import_export_details.py b/src/oci/management_dashboard/models/management_dashboard_for_import_export_details.py
index 536efc9ea2..2fe71c559f 100644
--- a/src/oci/management_dashboard/models/management_dashboard_for_import_export_details.py
+++ b/src/oci/management_dashboard/models/management_dashboard_for_import_export_details.py
@@ -94,6 +94,10 @@ def __init__(self, **kwargs):
The value to assign to the saved_searches property of this ManagementDashboardForImportExportDetails.
:type saved_searches: list[oci.management_dashboard.models.ManagementSavedSearchForImportDetails]
+ :param parameters_config:
+ The value to assign to the parameters_config property of this ManagementDashboardForImportExportDetails.
+ :type parameters_config: list[object]
+
:param freeform_tags:
The value to assign to the freeform_tags property of this ManagementDashboardForImportExportDetails.
:type freeform_tags: dict(str, str)
@@ -123,6 +127,7 @@ def __init__(self, **kwargs):
'type': 'str',
'is_favorite': 'bool',
'saved_searches': 'list[ManagementSavedSearchForImportDetails]',
+ 'parameters_config': 'list[object]',
'freeform_tags': 'dict(str, str)',
'defined_tags': 'dict(str, dict(str, object))'
}
@@ -147,6 +152,7 @@ def __init__(self, **kwargs):
'type': 'type',
'is_favorite': 'isFavorite',
'saved_searches': 'savedSearches',
+ 'parameters_config': 'parametersConfig',
'freeform_tags': 'freeformTags',
'defined_tags': 'definedTags'
}
@@ -170,6 +176,7 @@ def __init__(self, **kwargs):
self._type = None
self._is_favorite = None
self._saved_searches = None
+ self._parameters_config = None
self._freeform_tags = None
self._defined_tags = None
@@ -629,6 +636,30 @@ def saved_searches(self, saved_searches):
"""
self._saved_searches = saved_searches
+ @property
+ def parameters_config(self):
+ """
+ Gets the parameters_config of this ManagementDashboardForImportExportDetails.
+ Defines parameters for the dashboard.
+
+
+ :return: The parameters_config of this ManagementDashboardForImportExportDetails.
+ :rtype: list[object]
+ """
+ return self._parameters_config
+
+ @parameters_config.setter
+ def parameters_config(self, parameters_config):
+ """
+ Sets the parameters_config of this ManagementDashboardForImportExportDetails.
+ Defines parameters for the dashboard.
+
+
+ :param parameters_config: The parameters_config of this ManagementDashboardForImportExportDetails.
+ :type: list[object]
+ """
+ self._parameters_config = parameters_config
+
@property
def freeform_tags(self):
"""
diff --git a/src/oci/management_dashboard/models/management_dashboard_summary.py b/src/oci/management_dashboard/models/management_dashboard_summary.py
index 34cebaa0c8..04ef11de8b 100644
--- a/src/oci/management_dashboard/models/management_dashboard_summary.py
+++ b/src/oci/management_dashboard/models/management_dashboard_summary.py
@@ -26,6 +26,10 @@ def __init__(self, **kwargs):
The value to assign to the dashboard_id property of this ManagementDashboardSummary.
:type dashboard_id: str
+ :param id:
+ The value to assign to the id property of this ManagementDashboardSummary.
+ :type id: str
+
:param display_name:
The value to assign to the display_name property of this ManagementDashboardSummary.
:type display_name: str
@@ -91,6 +95,7 @@ def __init__(self, **kwargs):
"""
self.swagger_types = {
'dashboard_id': 'str',
+ 'id': 'str',
'display_name': 'str',
'description': 'str',
'compartment_id': 'str',
@@ -110,6 +115,7 @@ def __init__(self, **kwargs):
self.attribute_map = {
'dashboard_id': 'dashboardId',
+ 'id': 'id',
'display_name': 'displayName',
'description': 'description',
'compartment_id': 'compartmentId',
@@ -128,6 +134,7 @@ def __init__(self, **kwargs):
}
self._dashboard_id = None
+ self._id = None
self._display_name = None
self._description = None
self._compartment_id = None
@@ -148,7 +155,7 @@ def __init__(self, **kwargs):
def dashboard_id(self):
"""
**[Required]** Gets the dashboard_id of this ManagementDashboardSummary.
- ID of the dashboard.
+ ID of the dashboard. Same as id.
:return: The dashboard_id of this ManagementDashboardSummary.
@@ -160,7 +167,7 @@ def dashboard_id(self):
def dashboard_id(self, dashboard_id):
"""
Sets the dashboard_id of this ManagementDashboardSummary.
- ID of the dashboard.
+ ID of the dashboard. Same as id.
:param dashboard_id: The dashboard_id of this ManagementDashboardSummary.
@@ -168,6 +175,30 @@ def dashboard_id(self, dashboard_id):
"""
self._dashboard_id = dashboard_id
+ @property
+ def id(self):
+ """
+ **[Required]** Gets the id of this ManagementDashboardSummary.
+ ID of the dashboard. Same as dashboardId.
+
+
+ :return: The id of this ManagementDashboardSummary.
+ :rtype: str
+ """
+ return self._id
+
+ @id.setter
+ def id(self, id):
+ """
+ Sets the id of this ManagementDashboardSummary.
+ ID of the dashboard. Same as dashboardId.
+
+
+ :param id: The id of this ManagementDashboardSummary.
+ :type: str
+ """
+ self._id = id
+
@property
def display_name(self):
"""
diff --git a/src/oci/management_dashboard/models/management_dashboard_tile_details.py b/src/oci/management_dashboard/models/management_dashboard_tile_details.py
index 924f3a4ba2..936424a742 100644
--- a/src/oci/management_dashboard/models/management_dashboard_tile_details.py
+++ b/src/oci/management_dashboard/models/management_dashboard_tile_details.py
@@ -77,6 +77,10 @@ def __init__(self, **kwargs):
The value to assign to the drilldown_config property of this ManagementDashboardTileDetails.
:type drilldown_config: object
+ :param parameters_map:
+ The value to assign to the parameters_map property of this ManagementDashboardTileDetails.
+ :type parameters_map: object
+
"""
self.swagger_types = {
'display_name': 'str',
@@ -89,7 +93,8 @@ def __init__(self, **kwargs):
'ui_config': 'object',
'data_config': 'list[object]',
'state': 'str',
- 'drilldown_config': 'object'
+ 'drilldown_config': 'object',
+ 'parameters_map': 'object'
}
self.attribute_map = {
@@ -103,7 +108,8 @@ def __init__(self, **kwargs):
'ui_config': 'uiConfig',
'data_config': 'dataConfig',
'state': 'state',
- 'drilldown_config': 'drilldownConfig'
+ 'drilldown_config': 'drilldownConfig',
+ 'parameters_map': 'parametersMap'
}
self._display_name = None
@@ -117,6 +123,7 @@ def __init__(self, **kwargs):
self._data_config = None
self._state = None
self._drilldown_config = None
+ self._parameters_map = None
@property
def display_name(self):
@@ -388,6 +395,30 @@ def drilldown_config(self, drilldown_config):
"""
self._drilldown_config = drilldown_config
+ @property
+ def parameters_map(self):
+ """
+ Gets the parameters_map of this ManagementDashboardTileDetails.
+ Specifies the saved search parameters values
+
+
+ :return: The parameters_map of this ManagementDashboardTileDetails.
+ :rtype: object
+ """
+ return self._parameters_map
+
+ @parameters_map.setter
+ def parameters_map(self, parameters_map):
+ """
+ Sets the parameters_map of this ManagementDashboardTileDetails.
+ Specifies the saved search parameters values
+
+
+ :param parameters_map: The parameters_map of this ManagementDashboardTileDetails.
+ :type: object
+ """
+ self._parameters_map = parameters_map
+
def __repr__(self):
return formatted_flat_dict(self)
diff --git a/src/oci/management_dashboard/models/management_saved_search.py b/src/oci/management_dashboard/models/management_saved_search.py
index 06bebb00d5..578ce7dc04 100644
--- a/src/oci/management_dashboard/models/management_saved_search.py
+++ b/src/oci/management_dashboard/models/management_saved_search.py
@@ -29,6 +29,10 @@ class ManagementSavedSearch(object):
#: This constant has a value of "WIDGET_DONT_SHOW_IN_DASHBOARD"
TYPE_WIDGET_DONT_SHOW_IN_DASHBOARD = "WIDGET_DONT_SHOW_IN_DASHBOARD"
+ #: A constant which can be used with the lifecycle_state property of a ManagementSavedSearch.
+ #: This constant has a value of "ACTIVE"
+ LIFECYCLE_STATE_ACTIVE = "ACTIVE"
+
def __init__(self, **kwargs):
"""
Initializes a new ManagementSavedSearch object with values from keyword arguments.
@@ -116,6 +120,16 @@ def __init__(self, **kwargs):
The value to assign to the widget_vm property of this ManagementSavedSearch.
:type widget_vm: str
+ :param lifecycle_state:
+ The value to assign to the lifecycle_state property of this ManagementSavedSearch.
+ Allowed values for this property are: "ACTIVE", 'UNKNOWN_ENUM_VALUE'.
+ Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
+ :type lifecycle_state: str
+
+ :param parameters_config:
+ The value to assign to the parameters_config property of this ManagementSavedSearch.
+ :type parameters_config: list[object]
+
:param freeform_tags:
The value to assign to the freeform_tags property of this ManagementSavedSearch.
:type freeform_tags: dict(str, str)
@@ -146,6 +160,8 @@ def __init__(self, **kwargs):
'metadata_version': 'str',
'widget_template': 'str',
'widget_vm': 'str',
+ 'lifecycle_state': 'str',
+ 'parameters_config': 'list[object]',
'freeform_tags': 'dict(str, str)',
'defined_tags': 'dict(str, dict(str, object))'
}
@@ -171,6 +187,8 @@ def __init__(self, **kwargs):
'metadata_version': 'metadataVersion',
'widget_template': 'widgetTemplate',
'widget_vm': 'widgetVM',
+ 'lifecycle_state': 'lifecycleState',
+ 'parameters_config': 'parametersConfig',
'freeform_tags': 'freeformTags',
'defined_tags': 'definedTags'
}
@@ -195,6 +213,8 @@ def __init__(self, **kwargs):
self._metadata_version = None
self._widget_template = None
self._widget_vm = None
+ self._lifecycle_state = None
+ self._parameters_config = None
self._freeform_tags = None
self._defined_tags = None
@@ -684,6 +704,60 @@ def widget_vm(self, widget_vm):
"""
self._widget_vm = widget_vm
+ @property
+ def lifecycle_state(self):
+ """
+ **[Required]** Gets the lifecycle_state of this ManagementSavedSearch.
+ State of dashboard.
+
+ Allowed values for this property are: "ACTIVE", 'UNKNOWN_ENUM_VALUE'.
+ Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
+
+
+ :return: The lifecycle_state of this ManagementSavedSearch.
+ :rtype: str
+ """
+ return self._lifecycle_state
+
+ @lifecycle_state.setter
+ def lifecycle_state(self, lifecycle_state):
+ """
+ Sets the lifecycle_state of this ManagementSavedSearch.
+ State of dashboard.
+
+
+ :param lifecycle_state: The lifecycle_state of this ManagementSavedSearch.
+ :type: str
+ """
+ allowed_values = ["ACTIVE"]
+ if not value_allowed_none_or_none_sentinel(lifecycle_state, allowed_values):
+ lifecycle_state = 'UNKNOWN_ENUM_VALUE'
+ self._lifecycle_state = lifecycle_state
+
+ @property
+ def parameters_config(self):
+ """
+ Gets the parameters_config of this ManagementSavedSearch.
+ Defines parameters for the saved search.
+
+
+ :return: The parameters_config of this ManagementSavedSearch.
+ :rtype: list[object]
+ """
+ return self._parameters_config
+
+ @parameters_config.setter
+ def parameters_config(self, parameters_config):
+ """
+ Sets the parameters_config of this ManagementSavedSearch.
+ Defines parameters for the saved search.
+
+
+ :param parameters_config: The parameters_config of this ManagementSavedSearch.
+ :type: list[object]
+ """
+ self._parameters_config = parameters_config
+
@property
def freeform_tags(self):
"""
diff --git a/src/oci/management_dashboard/models/management_saved_search_for_import_details.py b/src/oci/management_dashboard/models/management_saved_search_for_import_details.py
index 261903683a..0950e1801a 100644
--- a/src/oci/management_dashboard/models/management_saved_search_for_import_details.py
+++ b/src/oci/management_dashboard/models/management_saved_search_for_import_details.py
@@ -108,6 +108,10 @@ def __init__(self, **kwargs):
The value to assign to the defined_tags property of this ManagementSavedSearchForImportDetails.
:type defined_tags: dict(str, dict(str, object))
+ :param parameters_config:
+ The value to assign to the parameters_config property of this ManagementSavedSearchForImportDetails.
+ :type parameters_config: list[object]
+
"""
self.swagger_types = {
'id': 'str',
@@ -127,7 +131,8 @@ def __init__(self, **kwargs):
'widget_template': 'str',
'widget_vm': 'str',
'freeform_tags': 'dict(str, str)',
- 'defined_tags': 'dict(str, dict(str, object))'
+ 'defined_tags': 'dict(str, dict(str, object))',
+ 'parameters_config': 'list[object]'
}
self.attribute_map = {
@@ -148,7 +153,8 @@ def __init__(self, **kwargs):
'widget_template': 'widgetTemplate',
'widget_vm': 'widgetVM',
'freeform_tags': 'freeformTags',
- 'defined_tags': 'definedTags'
+ 'defined_tags': 'definedTags',
+ 'parameters_config': 'parametersConfig'
}
self._id = None
@@ -169,6 +175,7 @@ def __init__(self, **kwargs):
self._widget_vm = None
self._freeform_tags = None
self._defined_tags = None
+ self._parameters_config = None
@property
def id(self):
@@ -612,6 +619,30 @@ def defined_tags(self, defined_tags):
"""
self._defined_tags = defined_tags
+ @property
+ def parameters_config(self):
+ """
+ Gets the parameters_config of this ManagementSavedSearchForImportDetails.
+ Defines parameters for the saved search.
+
+
+ :return: The parameters_config of this ManagementSavedSearchForImportDetails.
+ :rtype: list[object]
+ """
+ return self._parameters_config
+
+ @parameters_config.setter
+ def parameters_config(self, parameters_config):
+ """
+ Sets the parameters_config of this ManagementSavedSearchForImportDetails.
+ Defines parameters for the saved search.
+
+
+ :param parameters_config: The parameters_config of this ManagementSavedSearchForImportDetails.
+ :type: list[object]
+ """
+ self._parameters_config = parameters_config
+
def __repr__(self):
return formatted_flat_dict(self)
diff --git a/src/oci/management_dashboard/models/management_saved_search_summary.py b/src/oci/management_dashboard/models/management_saved_search_summary.py
index 19efcefb99..e8baa00f53 100644
--- a/src/oci/management_dashboard/models/management_saved_search_summary.py
+++ b/src/oci/management_dashboard/models/management_saved_search_summary.py
@@ -118,6 +118,10 @@ def __init__(self, **kwargs):
Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
:type lifecycle_state: str
+ :param parameters_config:
+ The value to assign to the parameters_config property of this ManagementSavedSearchSummary.
+ :type parameters_config: list[object]
+
:param freeform_tags:
The value to assign to the freeform_tags property of this ManagementSavedSearchSummary.
:type freeform_tags: dict(str, str)
@@ -147,6 +151,7 @@ def __init__(self, **kwargs):
'widget_template': 'str',
'widget_vm': 'str',
'lifecycle_state': 'str',
+ 'parameters_config': 'list[object]',
'freeform_tags': 'dict(str, str)',
'defined_tags': 'dict(str, dict(str, object))'
}
@@ -171,6 +176,7 @@ def __init__(self, **kwargs):
'widget_template': 'widgetTemplate',
'widget_vm': 'widgetVM',
'lifecycle_state': 'lifecycleState',
+ 'parameters_config': 'parametersConfig',
'freeform_tags': 'freeformTags',
'defined_tags': 'definedTags'
}
@@ -194,6 +200,7 @@ def __init__(self, **kwargs):
self._widget_template = None
self._widget_vm = None
self._lifecycle_state = None
+ self._parameters_config = None
self._freeform_tags = None
self._defined_tags = None
@@ -665,6 +672,30 @@ def lifecycle_state(self, lifecycle_state):
lifecycle_state = 'UNKNOWN_ENUM_VALUE'
self._lifecycle_state = lifecycle_state
+ @property
+ def parameters_config(self):
+ """
+ Gets the parameters_config of this ManagementSavedSearchSummary.
+ Defines parameters for the saved search.
+
+
+ :return: The parameters_config of this ManagementSavedSearchSummary.
+ :rtype: list[object]
+ """
+ return self._parameters_config
+
+ @parameters_config.setter
+ def parameters_config(self, parameters_config):
+ """
+ Sets the parameters_config of this ManagementSavedSearchSummary.
+ Defines parameters for the saved search.
+
+
+ :param parameters_config: The parameters_config of this ManagementSavedSearchSummary.
+ :type: list[object]
+ """
+ self._parameters_config = parameters_config
+
@property
def freeform_tags(self):
"""
diff --git a/src/oci/management_dashboard/models/update_management_dashboard_details.py b/src/oci/management_dashboard/models/update_management_dashboard_details.py
index 465186fd15..e4a5404e96 100644
--- a/src/oci/management_dashboard/models/update_management_dashboard_details.py
+++ b/src/oci/management_dashboard/models/update_management_dashboard_details.py
@@ -86,6 +86,10 @@ def __init__(self, **kwargs):
The value to assign to the is_favorite property of this UpdateManagementDashboardDetails.
:type is_favorite: bool
+ :param parameters_config:
+ The value to assign to the parameters_config property of this UpdateManagementDashboardDetails.
+ :type parameters_config: list[object]
+
:param freeform_tags:
The value to assign to the freeform_tags property of this UpdateManagementDashboardDetails.
:type freeform_tags: dict(str, str)
@@ -113,6 +117,7 @@ def __init__(self, **kwargs):
'data_config': 'list[object]',
'type': 'str',
'is_favorite': 'bool',
+ 'parameters_config': 'list[object]',
'freeform_tags': 'dict(str, str)',
'defined_tags': 'dict(str, dict(str, object))'
}
@@ -135,6 +140,7 @@ def __init__(self, **kwargs):
'data_config': 'dataConfig',
'type': 'type',
'is_favorite': 'isFavorite',
+ 'parameters_config': 'parametersConfig',
'freeform_tags': 'freeformTags',
'defined_tags': 'definedTags'
}
@@ -156,6 +162,7 @@ def __init__(self, **kwargs):
self._data_config = None
self._type = None
self._is_favorite = None
+ self._parameters_config = None
self._freeform_tags = None
self._defined_tags = None
@@ -567,6 +574,30 @@ def is_favorite(self, is_favorite):
"""
self._is_favorite = is_favorite
+ @property
+ def parameters_config(self):
+ """
+ Gets the parameters_config of this UpdateManagementDashboardDetails.
+ Defines parameters for the dashboard.
+
+
+ :return: The parameters_config of this UpdateManagementDashboardDetails.
+ :rtype: list[object]
+ """
+ return self._parameters_config
+
+ @parameters_config.setter
+ def parameters_config(self, parameters_config):
+ """
+ Sets the parameters_config of this UpdateManagementDashboardDetails.
+ Defines parameters for the dashboard.
+
+
+ :param parameters_config: The parameters_config of this UpdateManagementDashboardDetails.
+ :type: list[object]
+ """
+ self._parameters_config = parameters_config
+
@property
def freeform_tags(self):
"""
diff --git a/src/oci/management_dashboard/models/update_management_saved_search_details.py b/src/oci/management_dashboard/models/update_management_saved_search_details.py
index 4140c87470..b5914bb143 100644
--- a/src/oci/management_dashboard/models/update_management_saved_search_details.py
+++ b/src/oci/management_dashboard/models/update_management_saved_search_details.py
@@ -95,6 +95,10 @@ def __init__(self, **kwargs):
The value to assign to the widget_vm property of this UpdateManagementSavedSearchDetails.
:type widget_vm: str
+ :param parameters_config:
+ The value to assign to the parameters_config property of this UpdateManagementSavedSearchDetails.
+ :type parameters_config: list[object]
+
:param freeform_tags:
The value to assign to the freeform_tags property of this UpdateManagementSavedSearchDetails.
:type freeform_tags: dict(str, str)
@@ -120,6 +124,7 @@ def __init__(self, **kwargs):
'metadata_version': 'str',
'widget_template': 'str',
'widget_vm': 'str',
+ 'parameters_config': 'list[object]',
'freeform_tags': 'dict(str, str)',
'defined_tags': 'dict(str, dict(str, object))'
}
@@ -140,6 +145,7 @@ def __init__(self, **kwargs):
'metadata_version': 'metadataVersion',
'widget_template': 'widgetTemplate',
'widget_vm': 'widgetVM',
+ 'parameters_config': 'parametersConfig',
'freeform_tags': 'freeformTags',
'defined_tags': 'definedTags'
}
@@ -159,6 +165,7 @@ def __init__(self, **kwargs):
self._metadata_version = None
self._widget_template = None
self._widget_vm = None
+ self._parameters_config = None
self._freeform_tags = None
self._defined_tags = None
@@ -530,6 +537,30 @@ def widget_vm(self, widget_vm):
"""
self._widget_vm = widget_vm
+ @property
+ def parameters_config(self):
+ """
+ Gets the parameters_config of this UpdateManagementSavedSearchDetails.
+ Defines parameters for the saved search.
+
+
+ :return: The parameters_config of this UpdateManagementSavedSearchDetails.
+ :rtype: list[object]
+ """
+ return self._parameters_config
+
+ @parameters_config.setter
+ def parameters_config(self, parameters_config):
+ """
+ Sets the parameters_config of this UpdateManagementSavedSearchDetails.
+ Defines parameters for the saved search.
+
+
+ :param parameters_config: The parameters_config of this UpdateManagementSavedSearchDetails.
+ :type: list[object]
+ """
+ self._parameters_config = parameters_config
+
@property
def freeform_tags(self):
"""
diff --git a/src/oci/version.py b/src/oci/version.py
index 8e99ac41b9..d2c06bf67c 100644
--- a/src/oci/version.py
+++ b/src/oci/version.py
@@ -2,4 +2,4 @@
# Copyright (c) 2016, 2021, Oracle and/or its affiliates. All rights reserved.
# This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
-__version__ = "2.39.1"
+__version__ = "2.40.0"